De EL-kroeg - Deel 4 Vorige deel Overzicht

Pagina: 1 ... 111 112 Laatste
Acties:

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Onderstaande Samengevat :
TRISC4 = 1; // is een geldige instructie op de PIC16F877A
TRISC4 = 1; // is een ongeldige instructie op de PIC16F57 --- :?

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Tamelijk bekend is de Pic16F seriereeks waarvan veel voorbeelden met de mid-range 16F877A op het net te vinden zijn.
Datablad 877
https://ww1.microchip.com...nts/DataSheets/39582C.pdf
Daarnaast heb ik de kleinere baseline 16F57 omdat die op de Parallax Basic Stamp zit maar de losse chip heeft geen PBasic Interpreter voorgeprogrammeerd dus die flash ik met C-code vanuit MPLab met Pickit3.
Datablad 57
https://ww1.microchip.com/downloads/en/DeviceDoc/41213D.pdf

Met veel minder voorbeelden beschikbaar voor de laatste probeer ik 877 codes over te zetten naar de 57.
Wat ik al een tijd niet goed begrijp is dat er verschil in TRIS bewerkingen zijn tussen die twee, hieronder wat bewerkingen op de 57 met daarnaast aangegeven wat wel compileert en wat niet.

TRISC = 0b00000011; // -- WERKT
TRISC0 = 0; // -- WERKT NIET
TRISC1 = 1; // -- WERKT NIET
TRISC = (1<<0) | (1<<1) ; // -- WERKT
TRISC | = (1 << 6) ; // Set bit 6 -- WERKT NIET en geeft deze error
main.c:29:9: error: expected expression
TRISC = TRISC &~(1<<4); // -- WERKT NIET
en geeft deze error
main.c:28:: error: (1466) registers unavailable for code generation of this expression
vanuit de browser
(1466) registers * unavailable for code generation of this expression (Code Generator)
The compiler has been unable to generate code for this statement. This is essentially a “can’t generate code” error message (message 712), but the reason for this inability to compile relates to there not being enough registers available. See message 712 for suggested workarounds.
>> (712) can’t generate code for this expression (Code Generator)
This error indicates that a C expression is too difficult for the code generator to actually compile. >>
https://onlinedocs.microc...69-B5FA-A6EB2911F483.html

Van deze twee
TRISC0 = 0; // -- WERKT NIET
TRISC1 = 1; // -- WERKT NIET
verschijnt dit
main.c:27:1: error: use of undeclared identifier 'TRISC0'; did you mean 'TRISC'?
en daarvan weet ik zeker dat die wel op de 877 draaien, de rest heb ik o.a. van de Atmega32 geprobeerd te 'vertalen.'

Zit dat verschil nu in de compiler of in de hardware?
Na een aantal projectjes heb ik dit nog niet achterhaald al is het niet super storend want bijvoorbeeld dit
https://circuitdigest.com...terfacing-with-pic16f877a
is goed uitvoerbaar gebleken. Overzetten van de code naar de 57 ging in dit geval niet maar had een andere oorzaak namelijk te weinig geheugen. Circuit Digest gebruikt Proteus als simulatie maar daar heb ik alleen de Arduino-versie van; de PIC-module is mij iets te prijzig.
Als tip voor de geinteresseerde, een even goed bruikbare simulator is de freeware Simulide, zie plaatje
https://simulide.com/p/

Afbeeldingslocatie: https://tweakers.net/i/wzQ7IGOSXyAi7MVFOIdQhnrNUtY=/x800/filters:strip_icc():strip_exif()/f/image/GdSNjtfO3Z2ZttX7KPIxdxEb.jpg?f=fotoalbum_largeAfbeeldingslocatie: https://tweakers.net/i/thrz8KloLgHE0UHOanKRcLPkt-g=/800x/filters:strip_icc():strip_exif()/f/image/2DvuQHKWNrxs8d483OwAXS3e.jpg?f=fotoalbum_large

Misschien dat dit er iets mee te maken heeft ? Vanuit de 16F57 datasheet link hierboven
6.8.1 BIDIRECTIONAL I/O PORTS
Some instructions operate internally as read followed by write operations. The BCF and BSF instructions, for example, read the entire port into the CPU, execute the bit operation and re-write the result.

Er staat echter geen reden bij en deze 'bit-operatie' compileert zoals gezegd wel
TRISC = (1<<0) | (1<<1) ;

[ Voor 40% gewijzigd door kitao op 19-05-2025 10:26 . Reden: Error codes opgezocht ]


Acties:
  • 0 Henk 'm!

  • Ruitenwisser
  • Registratie: April 2025
  • Laatst online: 05-07 19:48
@kitao klein ongerelateerd vraagje. waarom werk je met transistors en geen mosfets om te schakelen? Ben al ffkes uit het elektronica gebeuren en het zit wat ver. Zou er graag me er terug in verdiepen.

Acties:
  • 0 Henk 'm!

  • memphis
  • Registratie: Oktober 2000
  • Laatst online: 23:35

memphis

48k was toen meer dan genoeg.

Ruitenwisser schreef op maandag 19 mei 2025 @ 12:31:
@kitao klein ongerelateerd vraagje. waarom werk je met transistors en geen mosfets om te schakelen? Ben al ffkes uit het elektronica gebeuren en het zit wat ver. Zou er graag me er terug in verdiepen.
Voor dit soort doeleinden is er geen meerwaarde voor een FET en tegelijk zijn vele voorbeeldschema's van een dergelijke display aansturen altijd met transistors.

Er zijn mensen die mij een GOD vinden


Acties:
  • 0 Henk 'm!

  • Ruitenwisser
  • Registratie: April 2025
  • Laatst online: 05-07 19:48
memphis schreef op maandag 19 mei 2025 @ 12:42:
[...]


Voor dit soort doeleinden is er geen meerwaarde voor een FET en tegelijk zijn vele voorbeeldschema's van een dergelijke display aansturen altijd met transistors.
Azo, en gewoon dan maken dat ie in het saturatie gebied zit gestuurd met je base stroom zeker.

In mijn hoofd zit: wil je schakelen gebruik een mosfet, wil je schalen gebruik een transistor

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
@Ruitenwisser
Ik heb ook periodes gehad dat ik geheel niets meer met elektronica deed, zoals tot vorig jaar december had ik een onderbreking van drie jaar. Het is voor mij een hobby en heb op zich niet veel interesse en tijd meer om mij op al te veel sub-onderwerpen tegelijk te richten, zoals op mosfets en transistors. Zitten ze in een schema, prima, dan kijk ik er even naar zoals in dit geval de BC547. Die had ik toevallig ook nog in huis en dan ga ik niet verder zoeken naar alternatieven want ik heb geen project ontwerpen ambities.

Zelfde met programmeren, ik kijk alleen nog naar de code, hetzij PBasic of C-Sharp of C++ of VHDL of Assembly of Arduino. Dan probeer ik het te begrijpen en test het vaak uit met debuggen maar ik doe geen enkele poging meer zelf iets te schrijven, hooguit wat kleine aanpassingen verrichten of als het niet compileert dan duik ik er wat verder in maar tot een limiet, wordt het te lastig dan jammer, dan zoek ik wat anders want vaak is het zo je dat je na verloop van tijd en met wat meer ervaring alsnog een oplossing tegenkomt.

Kortom, ik kijk of ik iets snap en het proberen te begrijpen is mijn insteek vandaar de vraag over de Tris-registers. Dus wat al voor me ligt heb ik al genoeg stof aan en hoef ik niets extra erbij op de vork te nemen. ;)

Acties:
  • 0 Henk 'm!

  • Ruitenwisser
  • Registratie: April 2025
  • Laatst online: 05-07 19:48
@kitao

Ok, dat is duidelijk en verstaanbaar. Ik heb vlug even in de datasheet van de 16F57 gekeken en daar staat dat het TRIS register een write-only register is.
The TRIS registers are “write-only” and are set (output
drivers disabled) upon Reset.
Dus dat verklaart waarom het volgende niet werkt en de verklaring daarvoor is hardwarematig en niet door de compiler.

code:
1
2
TRISC | = (1 << 6) ; // Set bit 6 -- WERKT NIET en geeft deze error
TRISC = TRISC &~(1<<4); // -- WERKT NIET en geeft deze error

Acties:
  • +1 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
@Tinusvolkel
Inmiddels een echte test kunnen doen en het boardje werkt prima met de soldeerloze inklik headers.
Nogmaals veel dank voor die gouden tip d:)b

Afbeeldingslocatie: https://tweakers.net/i/ngwcUSNOpei6gHBdr61Z3rbUkAQ=/800x/filters:strip_icc():strip_exif()/f/image/gO7z9tNJYt7o7QOWPXTfaMPr.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/al6IlTn2R58IbPfcs0InYOH-Wn8=/800x/filters:strip_icc():strip_exif()/f/image/kgnE8x6WNr7X7hzWjfzGArUF.jpg?f=fotoalbum_large ....Afbeeldingslocatie: https://tweakers.net/i/VJvrANw6NKrra2mdaah1dsUDjAw=/800x/filters:strip_icc():strip_exif()/f/image/VTJbjRBpnnNo1cQq49r9Lus2.jpg?f=fotoalbum_large
https://ww1.microchip.com...osity-Nano-Schematics.PDF

Chiptorials - CLB Synthesizer Quick Start Guide – Driving a 7-segment Display
YouTube: Chiptorials - CLB Synthesizer Quick Start Guide – Driving a 7-segmen...

De gebruikte code (onder de video) is Verilog maar als ik het goed begrepen heb kun je de schakeling ook opzetten met alleen bdf, block diagram file, dwz grafisch componenten en I/O plaatsen.

Acties:
  • 0 Henk 'm!

  • D-Three
  • Registratie: Oktober 2001
  • Laatst online: 07-07 21:21
@kitao wat zijn inklikheaders? :? Heb je een part number?

[ Voor 25% gewijzigd door D-Three op 19-05-2025 19:13 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Ruitenwisser schreef op maandag 19 mei 2025 @ 13:16:
@kitao
Ok, dat is duidelijk en verstaanbaar. Ik heb vlug even in de datasheet van de 16F57 gekeken en daar staat dat het TRIS register een write-only register is.

Dus dat verklaart waarom het volgende niet werkt en de verklaring daarvoor is hardwarematig en niet door de compiler.

code:
1
2
TRISC | = (1 << 6) ; // Set bit 6 -- WERKT NIET en geeft deze error
TRISC = TRISC &~(1<<4); // -- WERKT NIET en geeft deze error
Goed gevonden hoor, dank je, dat brengt al een stuk meer duidelijkheid.
Tot op zekere hoogte want lijkt mij vreemd dat de CPU niet 'weet' of niet kan 'lezen' wat er in de Tris geschreven staat ?
Daar komt bij dat MPLab de P16F57 Tris-registers bitsgewijs wel in beeld weet te brengen, zie hieronder, met de drie gele streepjes.

Afbeeldingslocatie: https://tweakers.net/i/8A4vUSfwgEFBwmxtnJABb8HCOF8=/800x/filters:strip_icc():strip_exif()/f/image/2UcwiBWdOyI36jKX1Dx8nUCJ.jpg?f=fotoalbum_large

Jouw gegeven write-only term helpt zeker om er meer over te vinden, zoals hier:
https://electronics.stack...the%20control%20qualifier.
dat naar deze verwijst:
5.3.10 Baseline PIC MCU Special Instructions
https://ww1.microchip.com...n/devicedoc/50002053g.pdf


Nog iets over de BJT's en Mosfets, ik noemde dat een sub-onderwerp maar had het beter een andere-richting onderwerp kunnen noemen want de details van zulke componenten is op zich een vak apart B)

[ Voor 15% gewijzigd door kitao op 19-05-2025 20:17 . Reden: Plaatje toegevoegd ]


Acties:
  • +1 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
D-Three schreef op maandag 19 mei 2025 @ 19:13:
@kitao wat zijn inklikheaders? :? Heb je een part number?
Het draadje begint vanaf 16 mei
kitao in "De EL-kroeg - Deel 4"

Een inklik-header is mijn zelf-verzonnen term, in werkelijkheid zijn de bijgeleverde male-headers bij het board standaard en recht. Daarom kwam ik er even niet uit want wist en verwachtte niet dat je die, met kracht, erin kon 'klikken'. Ik had ze gepast en het paste niet en had geen poging gedaan die in de zizag te forceren. Totdat ik die hele goeie tip kreeg :)

Afbeeldingslocatie: https://tweakers.net/i/V_Z4oX0kMrR98QrGakRRzhqCsJQ=/800x/filters:strip_icc():strip_exif()/f/image/KU3w6DURG8bHBanGa5ufcCQj.jpg?f=fotoalbum_large
^^ zigzag gatenrij ^^

@D-Three
Staggered through-holes is de officiele term, niet zigzag gaatjes :+

Afbeeldingslocatie: https://tweakers.net/i/G9V7HI5cPOjrM0V5Any4D0EnhXs=/800x/filters:strip_icc():strip_exif()/f/image/PohJROM26Olz1e7AInJC8V6e.jpg?f=fotoalbum_large
https://ww1.microchip.com...osity-Nano-Schematics.PDF

[ Voor 23% gewijzigd door kitao op 20-05-2025 06:19 . Reden: Plaatje toegevoegd ]


Acties:
  • 0 Henk 'm!

  • Ruitenwisser
  • Registratie: April 2025
  • Laatst online: 05-07 19:48
kitao schreef op maandag 19 mei 2025 @ 19:36:
[...]


Goed gevonden hoor, dank je, dat brengt al een stuk meer duidelijkheid.
Tot op zekere hoogte want lijkt mij vreemd dat de CPU niet 'weet' of niet kan 'lezen' wat er in de Tris geschreven staat ?
Daar komt bij dat MPLab de P16F57 Tris-registers bitsgewijs wel in beeld weet te brengen, zie hieronder, met de drie gele streepjes.

[Afbeelding]

Jouw gegeven write-only term helpt zeker om er meer over te vinden, zoals hier:
https://electronics.stack...the%20control%20qualifier.
dat naar deze verwijst:
5.3.10 Baseline PIC MCU Special Instructions
https://ww1.microchip.com...n/devicedoc/50002053g.pdf


Nog iets over de BJT's en Mosfets, ik noemde dat een sub-onderwerp maar had het beter een andere-richting onderwerp kunnen noemen want de details van zulke componenten is op zich een vak apart B)
Wat meer info over write-only registers: https://electronics.stack...ro-or-wo-and-wr-registers en IIRC is dat de debugger die bijhoudt wat er in dat register staat.

Dus hardwarematig kan het register niet uitgelezen te worden aangezien de functionaliteit ontbreekt.

Acties:
  • 0 Henk 'm!

  • Hans1990
  • Registratie: Maart 2004
  • Niet online
Die PIC16F57 laat hiermee echt z'n leeftijd zien. Die is niet bedoeld om modulair gewijs je programma te segmenteren. Ze gaan er waarschijnlijk van uit dat je aan het begin in 1x al je GPIOs configureert met 1 write. Niet dat als je Lcd_Init() aanroept die dan de specifieke GPIOs initialized die daartoe behoren.

Die PIC heeft ook maar een 2-level hardware call stack. Dus heel veel abstracties (dieptegraad van function calls) kan ook niet, want dat kan de hardware niet aan.

Ik heb het volgens mij al eerder gezegd, en zal het nu iets directer in zijn, maar een chip waar 1 timer op zit en voor de rest alles wegbezuinigd is, sja dat is waardeloos :) Er zijn veel meer leukere PICs die meer kunnen met minder programmeeruren en gotcha's.

Ik was zelf altijd groot fan van de 16-bit PICs: die behouden een AVR achtige core architectuur met hele snelle SFR toegang (waaronder direct bit clear/set instructies), plus een bak geheugen ernaast en remappable pin select voor digitale peripherals (dan kan je PWM of UART op elke RP** ondersteunde pin routen).
Ik ben er alleen mee gestopt omdat die 16-bit PICs geen C++ compiler (officieel) hebben.. En zodoende helaas ook met de MIPS PIC32's , want die lopen (liepen) ook jaren achter op mainline GCC. En het lijkt er op dat Microchip er ook mee stopt.. want de 16-bit PICs leven enkel voort als speciale dsPICs, en ik meen dat ze op 32-bit vlak steeds meer over zijn op ARM (of misschien durven zij de gok wel aan van RISC-V? Hun 64-bit MPUs doen dat immers al).

Acties:
  • +1 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Ruitenwisser schreef op dinsdag 20 mei 2025 @ 09:15:

Wat meer info over write-only registers: https://electronics.stack...ro-or-wo-and-wr-registers en IIRC is dat de debugger die bijhoudt wat er in dat register staat.

Dus hardwarematig kan het register niet uitgelezen te worden aangezien de functionaliteit ontbreekt.
Ok, opnieuw bedankt, ben blij dat je weer terug bent in de elektronica :)
Dat de MPLab software het Tris-register bijhoudt is inderdaad iets wat ik zelf ook overwoog maar die twijfel is nu wel verdwenen met jouw inbreng, tnx.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Hans1990 schreef op dinsdag 20 mei 2025 @ 10:23:
Die PIC16F57 laat hiermee echt z'n leeftijd zien. Die is niet bedoeld om modulair gewijs je programma te segmenteren. Ze gaan er waarschijnlijk van uit dat je aan het begin in 1x al je GPIOs configureert met 1 write. Niet dat als je Lcd_Init() aanroept die dan de specifieke GPIOs initialized die daartoe behoren.

Die PIC heeft ook maar een 2-level hardware call stack. Dus heel veel abstracties (dieptegraad van function calls) kan ook niet, want dat kan de hardware niet aan.

Ik heb het volgens mij al eerder gezegd, en zal het nu iets directer in zijn, maar een chip waar 1 timer op zit en voor de rest alles wegbezuinigd is, sja dat is waardeloos :) Er zijn veel meer leukere PICs die meer kunnen met minder programmeeruren en gotcha's.

Ik was zelf altijd groot fan van de 16-bit PICs: die behouden een AVR achtige core architectuur met hele snelle SFR toegang (waaronder direct bit clear/set instructies), plus een bak geheugen ernaast en remappable pin select voor digitale peripherals (dan kan je PWM of UART op elke RP** ondersteunde pin routen).
Ik ben er alleen mee gestopt omdat die 16-bit PICs geen C++ compiler (officieel) hebben.. En zodoende helaas ook met de MIPS PIC32's , want die lopen (liepen) ook jaren achter op mainline GCC. En het lijkt er op dat Microchip er ook mee stopt.. want de 16-bit PICs leven enkel voort als speciale dsPICs, en ik meen dat ze op 32-bit vlak steeds meer over zijn op ARM (of misschien durven zij de gok wel aan van RISC-V? Hun 64-bit MPUs doen dat immers al).
Ja, de beperktheid van die chip was inderdaad al eerder opgemerkt :)
Dat is bij een Z80 ook zo maar nog steeds gaat die over de toonbank voor de old-timer liefhebbers ;)
Zoals gezegd, de 16F57 is de motor in de Basic Stamp en dit is wat je ermee kunt doen :
https://www.parallax.com/...cs/Reference/AlphaRef.htm
Voordat ik dat allemaal door hebt ben ik wel een paar jaar verder.
En ik gebruik het als basis bouwblok om uC's in het algemeen wat beter te leren kennen, dan begin je niet met 64-bits, toch ?

2-level hardware call stack
Die ga ik opzoeken, vooral het eind van je post is boven mijn kennis nivo.

Ik heb een soort schemaatje, dat is op volgorde AVR-PIC-CLB-MaxII en ben nu met CLB bezig, Configurable Logic Block in de PIC16F13145, en ben geen expert in de recente ontwikkelingen, o.a. omdat ik er drie jaar uit ben geweest maar die lijkt mij redelijk nieuw.
Ik zit graag met software-pakketten te puzzelen en te rommelen en al kan het soms erg frustrerend zijn als het niet werkt geeft het toch plezier als de programmering rond komt.

Achteraf weet ik nu dat het 16F13145 board geleverd wordt met een voorprogramma, of ontwerp maar die heb ik meteen overgeschreven met het 7-segment voorbeeld. Blijkt op Github het origineel te staan en heb die gedownload en met MPLab geopend
https://github.com/microc...out-of-box-code-mplab-mcc
Kreeg ik de melding 'device not recognized'. Vreemd want gisteren deed die het wel.
Na veel klikken stond er in de Project Configuration naast het 1.25-pack een piepklein stukje tekst 'resolve'.
In dit veld:

Afbeeldingslocatie: https://tweakers.net/i/GPFFvIXNvX5ZuAT3xgSkXQkUBiI=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/x7RsNpPEGSJgkSElPyOM9eHE.jpg?f=user_large

Die geklikt en wordt er een device pakket in de software erbij geplakt en daarna was het board wel te programmeren.

Maar is heel leuk om wat mee bezig te zijn want geeft mooie plaatjes

Afbeeldingslocatie: https://tweakers.net/i/HZJ1Efv9zjoxk1utVlsdUQS8NBc=/800x/filters:strip_icc():strip_exif()/f/image/QnBIqCaK6CKek0ncq7ldGUGx.jpg?f=fotoalbum_large

Dit is hoe het design in de chip is gestructureerd voor deze toepassing en ben ooit begonnen met digitale elektronica en met 7400 en 4000 series dus ik vermaak me hier wel mee :)

Wat wel opvalt is dat de chip eigenlijk meteen al vol zit, te zien aan de vuurrode balk.
Niet echt te vergelijken met een CPLD dus ;)

Acties:
  • 0 Henk 'm!

  • Hans1990
  • Registratie: Maart 2004
  • Niet online
Opzich mag je de rest wat ik heb gezegd vergeten hoor, uiteindelijk merk je van veel dingen in C weinig van.

De manier hoe de PIC gebouwd is, maakt die wel wat moeilijker om met C te gebruiken. Er zitten wat haken en ogen aan..

Wat je van die 2 level hardware callstack kan merken, is dat je na main() maar 2 functies diep kan aanroepen. Dus stel je zou een Lcd_WriteString() schrijven en daarna Lcd_WriteChar(), dan zit de callstack van die PIC vol. Al zou je dan nog een functie nodig hebben (ik noem maar iets, je wilt hoofdletters wegfilteren naar kleine letters), dan kan je niet nog eens ToLowercase() aanroepen ofzo.

Of nog vervelender: als je een interrupt krijgt, dan telt die ook 1 niveautje bij op de callstack. Dus als je altijd een interrupt kan verwachten, dan moet je nog meer opletten. Nieuwere PICs hebben een diepere callstack ondersteuning. Die PIC16F13145 kan bijvoorbeeld 16 diep. Maar ook een 8-pin PIC12F629 heeft al 8 niveaus. Daar kan je iets mee! ;)

De Z80 ken ik enkel van naam, beetje voor mijn tijd vrees ik. Maar als ik zo op Wikipedia kijk, was dat al een best moderne architectuur.

Acties:
  • 0 Henk 'm!

  • vanaalten
  • Registratie: September 2002
  • Laatst online: 21:57
kitao schreef op maandag 19 mei 2025 @ 19:36:
Tot op zekere hoogte want lijkt mij vreemd dat de CPU niet 'weet' of niet kan 'lezen' wat er in de Tris geschreven staat ?
Dan moet je eens een aantal jaar ASIC design doen, dan krijg je misschien wat meer begrip! ;)

Zonder dat ik het interne design van die 16F57 ken:
Je moet het denk ik zien als een processor en randapparaten zoals dus die TRIS IO modules. Programma wordt uitgevoerd en op een gegeven moment kom je bij de instructie om een datawaarde naar TRIS te schrijven. Op dat moment gaat die datawaarde over een bus en komt bij TRIS aan, die het in een lokaal register opslaat en z'n ding ermee doet. Daarna is die datawaarde 'uit' het processordeel van de chip, dus de enige plek waar die waarde nog staat is in dat lokale register in TRIS.

Dan het stukje ASIC design: natuurlijk had men dat lokale register niet alleen schrijfbaar, maar ook leesbaar kunnen maken. Dat zou voor software-ontwikkelaars best handig kunnen zijn. Maar: dat kost logica. Moet men die acht draadjes van het register terug-routen naar het processordeel en daar met wat multiplexing toegankelijk maken als men het register wil lezen. En dat alles kost chip-oppervlak. En dus geld. Dat zou een reden kunnen zijn waarom dit register niet leesbaar is.

Een andere reden kan simpelweg zijn: een onwetende chip-ontwerper. Zo heb ik mij zelf er wel eens schuldig aan gemaakt om van een stuk ASIC-design een register enkel schrijfbaar te implementeren - vooral omdat dat gewoon even een stuk makkelijker was, om bepaalde redenen. Waarna ik werd teruggefloten door de systeemarchitect die vond dat ze leesbaar voor software moesten zijn. Mijn argument "ja maar, dat is stom, de software WEET toch wel wat 'ie net naar dat register geschreven heeft?!?" werd vakkundig van tafel geveegd. :)

Acties:
  • +1 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
@Hans1990
Ah, dat wordt dus bedoeld met call-stack level, dank je, nu begrijp ik het.
En met de verwijzing naar een Z80 ging het mij niet zozeer om de mogelijkheden met dat IC maar om het bredere verschijnsel dat er aardig nog wat animo is voor retro antieke apparatuur. Dat heb ik ook en al is de F57 lang niet zo heel oud begrijp ik best dat niemand daar nog een nieuw project mee gaat opzetten. Bij mij is die Parallax elektronica en software na een gedeeltelijk geslaagde Tweak-restauratie nog steeds werkend, dus ik gebruik het nu als losse module, zie foto

Afbeeldingslocatie: https://tweakers.net/i/nMJVJUDVSRwNcRL2tkiIswSFNzM=/800x/filters:strip_icc():strip_exif()/f/image/BosXpGhyATvIZ6i9V0g3g4Qb.jpg?f=fotoalbum_large

In 2009 heb ik het via Antratek besteld maar het kwam al vele jaren daarvoor op de markt, in 2002 meen ik en PBasic stamt zelfs uit 1992.

Z80 project playlist
YouTube: DIY Z80 Retro Computer #1: Interface a Z80 to an Arduino

Z80 Educatief bord MPF-1, nog steeds te vinden maar niet echt goedkoop.
Zit zo te zien een Toshiba TMPZ84 in, dus geen originele Zilog.

Afbeeldingslocatie: https://tweakers.net/i/YA5QYRBqikpoN1KjJPbogmORRLk=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/Km2Cme8LwAbS1iRTbdcSXk69.jpg?f=user_large
https://kswichit.net/Z80/Z80.html

Ps, leuk, emulator via NL-website :)
https://www.heinpragt.nl/?p=3260
.

[ Voor 33% gewijzigd door kitao op 21-05-2025 04:34 . Reden: Ps ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
vanaalten schreef op dinsdag 20 mei 2025 @ 13:45:
[...]

Dan moet je eens een aantal jaar ASIC design doen, dan krijg je misschien wat meer begrip! ;)

Zonder dat ik het interne design van die 16F57 ken:
Je moet het denk ik zien als een processor en randapparaten zoals dus die TRIS IO modules. Programma wordt uitgevoerd en op een gegeven moment kom je bij de instructie om een datawaarde naar TRIS te schrijven. Op dat moment gaat die datawaarde over een bus en komt bij TRIS aan, die het in een lokaal register opslaat en z'n ding ermee doet. Daarna is die datawaarde 'uit' het processordeel van de chip, dus de enige plek waar die waarde nog staat is in dat lokale register in TRIS.

Dan het stukje ASIC design: natuurlijk had men dat lokale register niet alleen schrijfbaar, maar ook leesbaar kunnen maken. Dat zou voor software-ontwikkelaars best handig kunnen zijn. Maar: dat kost logica. Moet men die acht draadjes van het register terug-routen naar het processordeel en daar met wat multiplexing toegankelijk maken als men het register wil lezen. En dat alles kost chip-oppervlak. En dus geld. Dat zou een reden kunnen zijn waarom dit register niet leesbaar is.

Een andere reden kan simpelweg zijn: een onwetende chip-ontwerper. Zo heb ik mij zelf er wel eens schuldig aan gemaakt om van een stuk ASIC-design een register enkel schrijfbaar te implementeren - vooral omdat dat gewoon even een stuk makkelijker was, om bepaalde redenen. Waarna ik werd teruggefloten door de systeemarchitect die vond dat ze leesbaar voor software moesten zijn. Mijn argument "ja maar, dat is stom, de software WEET toch wel wat 'ie net naar dat register geschreven heeft?!?" werd vakkundig van tafel geveegd. :)
Prima uitleg hoor, dank je wel en ik concludeer dat het een hardware structuur beperking is.

Ik moest Asic-design even opzoeken want klinkt mij niet bekend maar het is zo, wat ik thuis niet kan uitvoeren met een pc, ic, soldeerbout en een tangetje heeft voor mij geen nut om dat nog te gaan leren. :7

Om nog even terug te komen op het (CLB) Curiosity Board, Microchip heeft een serie korte video's erover, zoals unboxing en o.a. wat uitleg over de castellated en staggered randen maar ook over het debuggen en andere toepassingen zoals de Data Visualiser. Nu een paar maandjes bezig met Atmel Studio en MPLab en voor mij was en is de Microchip informatie overweldigend, je ziet door de bomen het bos niet meer. Na uren dwalen begin je pas wat te herkennen in al dat aanbod. Dus wat er gebeurt is 'eerst aansluiten en dan pas documentatie doornemen'.
Beter om toch eerst de instructies te bekijken B)

https://mu.microchip.com/...e-curiosity-nano-platform
.

Acties:
  • 0 Henk 'm!

  • Ruitenwisser
  • Registratie: April 2025
  • Laatst online: 05-07 19:48
kitao schreef op dinsdag 20 mei 2025 @ 16:22:
[...]
Ik moest Asic-design even opzoeken want klinkt mij niet bekend maar het is zo, wat ik thuis niet kan uitvoeren met een pc, ic, soldeerbout en een tangetje heeft voor mij geen nut om dat nog te gaan leren. :7
VHDL/Verilog heeft enkel een PC en ic nodig :P

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
@Ruitenwisser
Yep ... en tijd :|
Ben geloof ik in totaal 6 uur bezig geweest om de MPLab Code Configurator Melody (MCC) en Data Visualizer aan de praat te krijgen. Ondanks video en website voorbeelden :F

YouTube: MCC Melody Example Components: TIMER Toggle LED, Polled Implementation

https://onlinedocs.microc...BA154E-en-US-2/index.html

Maar het eerste grafiekje is in beeld, dus hopelijk gaat het hierna wat vlotter, pfff }:|

Afbeeldingslocatie: https://tweakers.net/i/rn1wRvQMUGaufHsJb4FR9f1mCWE=/800x/filters:strip_icc():strip_exif()/f/image/uQ4z9G1nA55b78aAYdwrFxa9.jpg?f=fotoalbum_large

Nou ja, 1 voordeel, je hoeft geen regel code meer te schrijven, alles wordt met klikmodules ingesteld.
De code genereert MCC zelf.

Acties:
  • 0 Henk 'm!

  • Ruitenwisser
  • Registratie: April 2025
  • Laatst online: 05-07 19:48
Hah, ik liet dat MCC gedoe altijd links liggen. Datasheet lezen en zelf bits zetten.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Ah, ok, maar nu ben je daar niet meer mee bezig ?
Zoals gezegd, ik schrijf zelf geen enkel programma maar ik lees ze wel door en weet de registers inmiddels te vinden en wat ze doen, in grote lijnen althans.
De MCC gegenereerde code betwijfel ik ook een beetje, eerste keer miste ik dit stuk :

C:
1
2
3
4
5
6
7
8
9
10
11
12
13
const struct TIMER_INTERFACE Timer2 = {
    .Initialize = TMR2_Initialize,
    .Deinitialize = TMR2_Deinitialize,
    .Start = TMR2_Start,
    .Stop = TMR2_Stop,
    .PeriodSet = TMR2_PeriodSet,
    .PeriodGet = TMR2_PeriodGet,
    .CounterGet = TMR2_CounterGet,
    .CounterSet = TMR2_CounterSet,
    .MaxCountGet = TMR2_MaxCountGet,
    .TimeoutCallbackRegister = TMR2_PeriodMatchCallbackRegister,
    .Tasks = NULL
};

Daarna ontbrak deze regel :
C:
1
IO_Debug_Toggle(); 


Dan komt de twijfel, heb ik iets overgeslagen of zit er een bug?
Ik ga er van uit dat het aan mij ligt en ik zie wel na wat meer gebruik wat er aan scheelde.
.

Acties:
  • 0 Henk 'm!

  • Ruitenwisser
  • Registratie: April 2025
  • Laatst online: 05-07 19:48
Nee, nu niet meer. Heb nog PIC32's en PIC18's geprogrammeerd op m'n vorig werk. Mis het wel een beetje. Nu wij hadden toen een hele library met kernel, drivers etc dus veel was ook al eens geschreven en moest je gewoon includen.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Heb je al een andere richting geprobeerd waar je misschien nog niet aan toe gekomen ben?
Zo heb ik als afwisseling altijd een kitje in huis waar ik wat tijd aan besteed met solderen, maar geen smd, maar ik kijk ook een beetje naar de werking ervan.
Deze ben ik vorige week mee begonnen en meteen mislukte de usb-aansluiting, wat ik al verwachtte dus had die als eerste erop gezet. Gelukkig is die optioneel om weg te laten want die ligt nu in stukjes.
Voor de rest zijn het normale componenten dus het kan nog goed aflopen ;)

Afbeeldingslocatie: https://tweakers.net/i/68Bb0aapcpaVrU5iugp6v-Z1fYw=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/3wU9r50RXVfetAh76h6HOLWE.jpg?f=user_largeAfbeeldingslocatie: https://tweakers.net/i/6_XfjXYB3tSuEehRwnrf_zXAQtI=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/tyCC66XPvvUlzl1eL9quDbXD.jpg?f=user_large

[ Voor 12% gewijzigd door kitao op 21-05-2025 14:32 ]


Acties:
  • 0 Henk 'm!

  • Ruitenwisser
  • Registratie: April 2025
  • Laatst online: 05-07 19:48
kitao schreef op woensdag 21 mei 2025 @ 14:28:
Heb je al een andere richting geprobeerd waar je misschien nog niet aan toe gekomen ben?
Wat bedoel je? Heb carrière switch gedaan waardoor niet meer in aanraking gekomen met elektronica. Ik moet nu hobbymatig het terugoppikken als ik de tijd vind.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Ah, ok, ik dacht dat je nog zocht naar iets anders om weer mee te beginnen omdat je in de verleden tijd sprak over het programmeren maar het blijkt tijdgebrek te zijn. Op zich geen slechte keuze om dat op peil te houden, zonde om die ervaring te laten vervagen.

Het MPLab MCC en DV gebeuren begint een beetje duidelijker te worden maar ik vraag me nu af of ik maar 1 pinnetje in beeld kan krijgen ? Of eigenlijk drie

Afbeeldingslocatie: https://tweakers.net/i/9JJjtWi4Q-NYWk1H4Td4x2-GEGM=/800x/filters:strip_exif()/f/image/YLyy8OxhqZ6iWtg268nDpiJt.png?f=fotoalbum_large

https://onlinedocs.microc...DA-4266-A6A1-F5302CAA5B2A
en
https://ww1.microchip.com...osity-Nano-Schematics.PDF

High Speed signalen, zeg maar >0.5 MHz, schijnt de Data Visualizer niet geschikt voor te zijn en als dit allemaal klopt is uiteindelijk toch externe meetapparatuur nodig, zoals een Logic Analyzer.

Probleem met de video dat het zo lang duurde om te reproduceren kwam ook omdat ik een ander board heb en een iets andere versie MPLab als dat Glen Nilsen gebruikte. Dus mijn knoppen zaten op een andere rij B)

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Voor wie interesse heeft in de Configurable Logic Block in de PIC16F13145 is het volgende misschien leuk om te weten.
Zoals in deze post was te zien
kitao in "De EL-kroeg - Deel 4"
staat er een Verilog code onder de video, dat is deze hieronder en die wordt in de P16F13145 geprogrammeerd.

verilog:
1
2
3
4
5
6
7
8
9
10
11
module bcd7seg(bcd0,bcd1,bcd2,bcd3, seg0,seg1,seg2,seg3,seg4,seg5,seg6);
input bcd0, bcd1, bcd2,bcd3; //initializing bcd as an 4 bit input signal
output seg0,seg1,seg2,seg3,seg4,seg5,seg6; //initializing seg as an 8 bit output signal
assign seg0= ~(((~bcd3)&(~bcd2)&(~bcd1)&bcd0) | ((~bcd3)&bcd2&(~bcd1)&(~bcd0))); //Logical expression for segment0 (Segment A)
assign seg1= ~(((~bcd3)&bcd2&(~bcd1)&bcd0) | ((~bcd3)&bcd2&bcd1&(~bcd0))); //Logical expression for segment1 (Segment B)
assign seg2= ~(((~bcd3)&(~bcd2)&bcd1&(~bcd0))); //Logical expression for segment2 (Segment C)
assign seg3 = ~(((~bcd3)&(~bcd2)&(~bcd1)&bcd0) | ((~bcd3)&bcd2&(~bcd1)&(~bcd0)) | ((~bcd3)&bcd2&bcd1&bcd0)); //Logical expression for segment3 (Segment D)
assign seg4 = ~(((~bcd3)&bcd0) | ((~bcd3)&bcd2&(~bcd1)) | (~(bcd2)&(~bcd1)&bcd0)); //Logical expression for segment4 (Segment E)
assign seg5 = ~(((~bcd3)&(~bcd2)&bcd0) | ((~bcd3)&(~bcd2)&bcd1) | ((~bcd3)&bcd1&bcd0)); //Logical expression for segment5 (Segment F)
assign seg6 = ~(((~bcd3)&(~bcd2)&(~bcd1))|((~bcd3)&bcd2&bcd1&bcd0)); //Logical expression for segment6 (Segment G)
endmodule

Het leuke eraan is dat zonder aanpassingen precies diezelfde code in Intel Quartus compileert en in een Altera Max II geprogrammeerd kan worden. Deze twee foto's zijn van twee geheel verschillende IC's die op identieke wijze een 7-segment aansturen.

Afbeeldingslocatie: https://tweakers.net/i/edp0Bm_4aQ7xaYcYWAIqPt7OSj0=/800x/filters:strip_icc():strip_exif()/f/image/iypGVoR8FKxkugxsCBeMy55L.jpg?f=fotoalbum_largeAfbeeldingslocatie: https://tweakers.net/i/LgpQGYkWAKVLxcMUd2GV2cIhfQ4=/x800/filters:strip_icc():strip_exif()/f/image/lmflj0o3UgItNsToKFqttn1H.jpg?f=fotoalbum_large

Zo ziet het eruit in de Quartus software

Afbeeldingslocatie: https://tweakers.net/i/UAJ12FLVDojT6X9Y5XyOrtNZ-io=/800x/filters:strip_icc():strip_exif()/f/image/tsY44f2xxHOPK2i0TWS6ZTiY.jpg?f=fotoalbum_largeAfbeeldingslocatie: https://tweakers.net/i/RBYl6GICe_JqwCBDTvI3veu8vJ4=/800x/filters:strip_icc():strip_exif()/f/image/zrCeJSHsB2Rh6Cv02nMAx7dh.jpg?f=fotoalbum_large

Enige verschil is dat de CPLD opstelling geen 'motor' heeft om dat logische blok aan te sturen terwijl de P16F13145 daar blijkbaar z'n microcontroller voor gebruikt. Vandaar de Dip-switches.

De 'motor' is de main-file in het Microchip video voorbeeld

C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "mcc_generated_files/system/system.h"

/*
    Main application
*/

int main(void)
{
    SYSTEM_Initialize();
    
    while(1)
    {
        for(uint8_t i = 0; i < 10; i++){
            CLB1_SWIN_Write8(i);
            __delay_ms(4000);
        }
    }    
}


Ps,
Bij het toevoegen van de Verilog file aan Quartus via New geef het de naam bcd7seg gelijk aan de Module naam in de code op regel 1. Anders verschijnt deze 12007 error
https://www.intel.com/con...top_entity_is_missing.htm
en dat is een voor mij heel ingewikkelde omschrijving voor in dit geval iets eenvoudigs :
Module naam moet gelijk zijn aan de file name. En vice versa. Zo niet : geen compilatie !
Bij VHDL identiek maar daar heet het niet Module maar Entity.

Afbeeldingslocatie: https://tweakers.net/i/3mwSrYWtKvQkUa4KvEj3NtqqsdE=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/fnnqOz9p9uEvW9rbIMHM6eE2.jpg?f=user_large

(SystemVerilog is weer een andere taal ^ )

Meer info in de playlist hieronder. Daar wordt een Altera Max 3000 gebruikt maar heb ondervonden dat het niet uitmaakt welke CPLD je erop aansluit. Verder is mij gebleken dat de Pic16F13145 CLB een mooi bruggetje slaat tussen uC en CPLD. Overigens blijkt Microchip ook FPGAs en tools in zn assortiment te hebben maar ben er nog niet aan toe gekomen dit te bekijken.
https://www.microchip.com...ucts/fpgas-and-plds/fpgas

YouTube: The Intro - An Introduction To FPGA And CPLD - PyroEDU
.

[ Voor 18% gewijzigd door kitao op 23-05-2025 07:06 . Reden: Ps ]


Acties:
  • 0 Henk 'm!

  • Ruitenwisser
  • Registratie: April 2025
  • Laatst online: 05-07 19:48
kitao schreef op woensdag 21 mei 2025 @ 23:33:
Ah, ok, ik dacht dat je nog zocht naar iets anders om weer mee te beginnen omdat je in de verleden tijd sprak over het programmeren maar het blijkt tijdgebrek te zijn. Op zich geen slechte keuze om dat op peil te houden, zonde om die ervaring te laten vervagen.

High Speed signalen, zeg maar >0.5 MHz, schijnt de Data Visualizer niet geschikt voor te zijn en als dit allemaal klopt is uiteindelijk toch externe meetapparatuur nodig, zoals een Logic Analyzer.
Ja idd, dit heb ik me ook al bepeist. Indien ik weer in de richting van mijn afstudeerrichting wil werken zal ik waarschijnlijk als een schoolverlater beschouwd worden met dat ik er al een paar jaar uit zit nu wat ook een reductie van loon inhoudt. Dermee ik me er weer wat wil in verdiepen als ik de tijd vind.

Ik zou toch aanraden om een oscilloscoop aan te schaffen als je veel met elektronica bezig bent. Ik heb een 4 kanaals Rigol en ben daar best tevreden mee.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Ruitenwisser schreef op donderdag 22 mei 2025 @ 17:16:

Ja idd, dit heb ik me ook al bepeist. Indien ik weer in de richting van mijn afstudeerrichting wil werken zal ik waarschijnlijk als een schoolverlater beschouwd worden met dat ik er al een paar jaar uit zit nu wat ook een reductie van loon inhoudt. Dermee ik me er weer wat wil in verdiepen als ik de tijd vind.

Ik zou toch aanraden om een oscilloscoop aan te schaffen als je veel met elektronica bezig bent. Ik heb een 4 kanaals Rigol en ben daar best tevreden mee.
Na drie jaar niets meer met elektronica gedaan te hebben was het voor mij zo goed als helemaal opnieuw beginnen. Niet met alles maar bijvoorbeeld MPLab was ik destijds al mee bezig maar dan met PIC simulaties op Simulide waar je de hex voor nodig hebt en kon amper de start knop nog vinden. Sommigen hebben een ijzersterk geheugen dus ik hoop dat jij van je onderbreking minder nadeel ervan ondervindt.

Bedankt voor de tip over de oscilloscoop, ik was al een beetje aan het rondkijken maar ivm ruimte overweeg ik een usb-scoopje. Een L.A. heb ik, zie deze post
kitao in "[Discussie] Arduino-topic"
dat geeft ook een aardig overzicht ... en mooie plaatjes :)

Acties:
  • +1 Henk 'm!

  • Ramon 73
  • Registratie: Maart 2005
  • Laatst online: 06-07 21:29
Bizar verhaal vandaag. heeft helaas niks met functionele elektronica te maken.
Ik werk voor een bedrijf dat trainingen in de elektronica sector geeft. Wij delen een pand met een assemblagebedrijf. Beide bedrijven zijn niet heel groot (elk tussen 5 en 10 personen) dus de banden onderlinge zijn goed en direct.
Vanochtend gaat de deurbel, staat er een Engelse man met een grote UK werkbus van Liebherr voor de deur. De man draagt werkkleding van hetzelfde merk. Heel verhaal over golfsolderen, en of wij dat doen. Naja, de andere bewoner van dit adres wel, maar hij moet iets repareren en daarvoor zwart stof nodig van golfsolderen. Naja, kerel, wat bedoel je in vredesnaam???? Gevraagd of bij vulstaven soldeertin wil kopen (hebben de buren ruim in voorraad). Nee, moest het zwarte stof hebben van golfsolderen. Jawadde, dat lijkt erop dat hij de slakken van een soldeerbad wil hebben. Dat is in eerste instantie voor 80% recycleerbaar tot soldeertin, dus dat geeft niemand zomaar cadeau. Slakken (dross) laten zien maar dat was te grof, hij moest echt het fijne poeder hebben......
Er zijn machines in de handel (hebben de buren ook) om verse slakken te regenereren naar bruikbaar soldeertin, de rommel die achterblijft is niet (eenvoudig) te recyclen. Soldeertinfabrikanten kunnen het nog recyclen, maar slechts 5-15% reclaim en kost een hoop moeite en energie. Dus je moet flinke hoeveelheden hebben om rendabel te zijn. Ergo, het zwarte stof dat de man nodig heeft is waardeloos in kleine hoeveelheden.
Even gevraagd bij de buren en daar barst iedereen in lachen uit. Kijk maar of hijj een kratje bier wil dokken.
Beetje moeilijk doen bij die man, haalt hij €20 boven water. Terwijl ik wegloop om te vragen of dat voldoende is, drukt hij me €50 in de handen en zegt "Are we okay?" Uehhh, ja, doe maar. En hij loopt naar buiten met 1,5kg zwart waardeloos stof waar hij €50 voor heeft betaald.
Dus morgen frieten bij het bier :)

Maar wat bezielt zo'n man? €50 voor vrij waardeloos zwart stof dat nergens voor gebruikt kan worden, het brandt niet, als "zand"straal medium is het onbruikbaar, het ontploft niet.
Iemand zoiets al eens meegemaakt?

Edit: het verhaal bij een UK solder manufacturer gelegd. In Engeland is het vaker gebeurd dat men om dross (slakken) gaat bedelen bij EMS bedrijven. Verse slak is tot 80% recyclebaar. Per kilo is het al snel 15-25€ waard.
Dus mijn verhaal werd volledig bevestigd, ze hangen overal nagenoeg hetzelfde verhaal op.

[ Voor 6% gewijzigd door Ramon 73 op 23-05-2025 10:41 ]


Acties:
  • 0 Henk 'm!

  • blackwidow998
  • Registratie: Maart 2010
  • Laatst online: 19:59
Duurde iets langer voordat ik weer verder kon met mijn boardje.

Ik ben even opnieuw begonnen op een nieuwe print, alleen de componenten geplaatst zoals prototype 1 die wel werkte. alle andere zaken er nog niet op gesoldeerd. Deze geeft wederom 11 volt.
Hans1990 schreef op vrijdag 16 mei 2025 @ 10:54:
[...]


Ik zat al te zoeken of die LMR toevallig een 3.3V fixed output versie heeft, maar (helaas) enkel adjustable. Vaak is er weinig anders aan, behalve dat je dan die weerstanddeler kan besparen en dus je uitgang direct op FB aansluiten.
Leuke kostenbesparing voor fabrikanten met weinig PCB area of, die anders 2 reels moeten laden voor 22.1k en 51k..

@memphis Ik denk niet dat de chip verkeerd om zit, want dan zou je GND (pin2) en VIN (pin5) omdraaien. Dan zou de magische rook wel vertrokken zijn.

@blackwidow998 Je zou dus kunnen testen wat er gebeurd als je de bovenste weerstand van de deler even met een pincet kortsluit. Als dan de spanning naar 3.3V zakt, dan is dit dus een switcher met 3.3V referentie. Je zou er voor kunnen kiezen om het bord dan zo te gebruiken.. vraag is alleen wel waarom dit gebeurd.

Voor mij is even de vraag wat voor IC er nu op zit. TI gaat niet magisch opeens een chip variant maken met 3.3V referentie spanning als die 1.0V hoort te zijn. Tenminste, ga ik even van uit :+

Dus misschien iets meer info of betere foto van de chip? (je hebt al een aardige microscoop zo te zien! soms kunnen chips belettering beter leesbaar worden adhv polarisatie van het licht)
Het zou mij niets verbazen als er een andere generiek 6-pin SOT switcher nu op zit.
Daarna zat ik te denken aan de post van hans die ik voorbij zag komen en heb toen de bovenste weerstand kort gesloten. en voila, 3.3 volt uitgangsspanning. Ik heb waarschijnlijk ergens een foutje of onbewuste wijziging in mijn PCB zitten tov de eerste. Wellicht dat jullie het kunnen vinden?? Hier de versie 1 en 2 langs elkaar:

V1

Afbeeldingslocatie: https://tweakers.net/i/go-2ZSqgJjiuTkKqzUp8GD7d6AM=/800x/filters:strip_exif()/f/image/HbvCU5Aw8ypfb0EsCf5luSFb.png?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/WOYc2SNwSXLfYUlvztkE5tATMTc=/800x/filters:strip_exif()/f/image/uculIr6gd2ti0Kn5VipqOff9.png?f=fotoalbum_large

V2

Afbeeldingslocatie: https://tweakers.net/i/y73KoBMvxKEfDQ0Ee9OYIujRbpA=/800x/filters:strip_exif()/f/image/Lp8x2fOQZj3RhfagQoYc5VZW.png?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/5D5gvzbgSSnOdB0Cnoif7UIxo5U=/800x/filters:strip_exif()/f/image/VtygSZc0dqCpAlhcJ6y82rdK.png?f=fotoalbum_large


Maar voor een quick fix, kan ik die weerstand overbruggen en zou mijn voeding dan correct werken?

Acties:
  • 0 Henk 'm!

  • NewGuest
  • Registratie: Mei 2007
  • Laatst online: 22:47
Waarom is op de pcb de track van R3 naar C23 (GND) veranderd in een troughhole track?

Acties:
  • 0 Henk 'm!

  • memphis
  • Registratie: Oktober 2000
  • Laatst online: 23:35

memphis

48k was toen meer dan genoeg.

Heb je ook alle massapunten van de componenten gemeten als ze ook hard aan massa liggen?
Met name R3 en pin 2 van het IC.

Er zijn mensen die mij een GOD vinden


Acties:
  • 0 Henk 'm!

  • Bas...
  • Registratie: December 2022
  • Laatst online: 19:14
Nog een kleine opmerking over je layout. Het is netter om het spoor vanaf U18 naar de 3V3 pin van de ESP achter (of rechts van) C23 aan te sluiten i.p.v. op U18. Het is gebruikelijk om het stroompad letterlijk door de pads van capaciteiten heen te routeren. Als je ergens anders aftakt dan heeft dat stroompad minder profijt van die capaciteiten, met mogelijk meer rimpel/ruis/etc tot gevolg. Op alle andere plekken doe je dit wel netjes.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Testbenchen met Modelsim

Zie ook deze website voor een snelle start. Tutorial – Introduction to Modelsim for Beginners
https://nandland.com/introduction-to-modelsim-for-beginners/

Op deze webpagina staan veel codes met test benches.
http://esd.cs.ucr.edu/labs/tutorial/

Afbeeldingslocatie: https://tweakers.net/i/bK2uYhnIW27LWS_uWZToxGW9nNs=/800x/filters:strip_icc():strip_exif()/f/image/YMsfpYJMkl6VtLHIajn5MQvp.jpg?f=fotoalbum_large

Maak een folder aan op de PC, noem het bijv. Multiplexor en maak twee documentjes aan, 1 voor de Behavior code en de ander voor de Test Bench en noem deze Mux.vhd en Mux_TB.vhd, gelijk aan de Entity-naam in de code (in Verilog heet dat Module). Plak daar respectievelijk deze codes in:
http://esd.cs.ucr.edu/labs/tutorial/mux.vhd
http://esd.cs.ucr.edu/labs/tutorial/tb_mux.vhd

Run as administrator Modelsim > File > New Project, geef het een naam en vink Reference Library aan.

Afbeeldingslocatie: https://tweakers.net/i/uQfnmqOXv7ICqbq2bm3syV0p1ts=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/AlBxCIL2jthnNEfgMcnD9Suk.jpg?f=user_large

Er verschijnt een pop-up Add Items. Klik die weg.
In window Project rechtsklik en Add existing file

Afbeeldingslocatie: https://tweakers.net/i/HOVBtR2fgSJluSZcoHFBWhYhNhE=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/atXjrJGyktQx6mJYrSwgPC3J.jpg?f=user_large . . . Afbeeldingslocatie: https://tweakers.net/i/8163xqe01H4fMqS5i0VITnGbA4A=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/FBn21H1FOY7cYaVzjTlQW1XH.jpg?f=user_large

Doe dit voor Mux.vhd en Mux_TB.vhd die dan met een vraagteken in het project komen. Rechtsklik ze allebei en compile selected

Afbeeldingslocatie: https://tweakers.net/i/iqkATpmbbgMAnU8Py8Piq4_ZqZw=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/khBEyj2dYGVYeVbhaHsXr23K.jpg?f=user_large...Afbeeldingslocatie: https://tweakers.net/i/2de-HNSksW5DectQQ7Zp0goYgY4=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/qscXC4cHEjEeMiYSpxpvkofk.jpg?f=user_large

Klik op Library en Work en dubbelklik mux_tb

Afbeeldingslocatie: https://tweakers.net/i/sXJuTWUAm5x-2SIIvdTM5Z3DwOE=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/61RazLedUsNjRq3gAXwPSid7.jpg?f=user_large

Rechtsklik in Objects en Add to wave Signals in region

Afbeeldingslocatie: https://tweakers.net/i/MbfrYXf0Us4yGnHqUBKz2OJ7gy4=/800x/filters:strip_icc():strip_exif()/f/image/pfhrnA0LhEWnSq6THOusG9n7.jpg?f=fotoalbum_large

Klik op Run all en rechtsklik in de grafiek en Zoom full

Afbeeldingslocatie: https://tweakers.net/i/a7dJkOYzOSpG4oZTBd5TeK5E7Yc=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/WvtcLCgFJm2EbvcVga8pcpIK.jpg?f=user_large . . . Afbeeldingslocatie: https://tweakers.net/i/R7g814CcxOaf10UyvCe89lDCEnc=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/kKNCVZelgQF4fl9nYaKPDixQ.jpg?f=user_large

bekijk het eindresultaat

Afbeeldingslocatie: https://tweakers.net/i/t21u3ndrjAZpnsh7SeKKwe7YIQo=/800x/filters:strip_icc():strip_exif()/f/image/aOQ4mADe5IaV7747unknw8L8.jpg?f=fotoalbum_large

en vergelijk deze met de Behavioral simulation van de webpagina

http://esd.cs.ucr.edu/labs/tutorial/mux.jpg
Afbeeldingslocatie: https://tweakers.net/i/ExCIzHPKVH2OB4ykaOFVa5qeTe4=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/JzLfAwlByB4ATgLIpVZlbU6M.jpg?f=user_large

Bij de webpagina zitten twee boeken, VHDL for Digital Design, F. Vahid and R. Lysecky en is op Archive.org te vinden.
https://archive.org/detai...design-vahid-lysecky-2007
en Embedded System Design, ESD
https://dsp-book.narod.ru/ESDUA.pdf

Bovenstaande stappen worden uitgebreider in deze playlisten en in dit pdf getoond maar er is geen Quartus nodig om de Modelsim op te zetten aangezien Modelsim de files zelf compileert. De stappen voor Verilog of VHDL of SystemVerilog zijn gelijk aan elkaar.

YouTube: Introduction [My HDL Workflow in ModelSim & Quartus | Tutorial 0]
code onder video

YouTube: Tutorial (1/4): Creating a project from scratch in Quartus Prime
code zelf natypen

https://ftp.intel.com/Pub...HDL/ModelSim_Tutorial.pdf
code kopiëren vanuit pdf verschuift wat leestekens.

ModelSim download pagina - ca. 2 GB.
https://www.intel.com/con...tware-version-20-1-1.html

Er zijn twee manieren om een Sim te maken, dat kan handmatig door de input signalen een force of een clock te geven, de outputs bewegen dan vanzelf mee. Zou je bijvoorbeeld Mux.vhd dubbelgeklikt en in de Wave hebben gezet gevolgd door een Run100 dan verschijnen er 'lege' signalen. De schakeling an sich is nog steeds aanwezig maar de inputs wachten op handmatige clock of force data.
De tweede manier is met een testbench code zoals hierboven en dan gaat wel alles automatisch.

Run100
Afbeeldingslocatie: https://tweakers.net/i/AQmnuznqBSucV8FddKYhJJ5x5no=/800x/filters:strip_icc():strip_exif()/f/image/cRKXwxeaMnStoX6waPK7yRls.jpg?f=fotoalbum_large

-------------------------------------------------

Ps.
Vanuit Quartus is het ook mogelijk om de Testbench in Modelsim in beeld te krijgen. Volg dan de Scratch tutorial video 2 waar de testbench onderaan de top-level file wordt geplakt. In het voorbeeld hierboven kun je dan deze
http://esd.cs.ucr.edu/labs/tutorial/tb_mux.vhd
in hetzelfde documentje onderaan plakken als waar deze in staat
http://esd.cs.ucr.edu/labs/tutorial/mux.vhd
Dus van twee maak je 1 file. Die 'dubbele' file compileren in Quartus en via Tools Run Simulation klikken.

Je zou toch verwachten dat er 2 files door dit 16 gigabyte pakket aan elkaar gelinkt zouden worden, maar helaas ... blijkbaar niet ? :|

De bedoeling van deze post is eigenlijk om met slechts een paar stappen de Testbench snel in beeld te krijgen en daarom laat ik het hierbij maar eventuele vragen zijn welkom. Voor iemand die de code taal wil leren schrijven (niet ik) is het wel handig om te kunnen controleren of de code werkt zoals bedoeld. Als je dat met en via Quartus wil doen duurt het ongeveer 80x zo lang aangezien het compileren veel meer tijd nodig heeft als in Modelsim.

Ps2
De link bovenaan naar de Nandland tutorial kwam ik een dag na het plaatsen van deze post pas tegen ergens in een vergeten mapje. Deze post is niet daaruit gekopieerd. Toch heb ik die bovenaan gezet omdat je ook met die snel zou kunnen beginnen met het testbenchen op Modelsim.
.

[ Voor 20% gewijzigd door kitao op 25-05-2025 08:27 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Nog een handige tip, de Zif-Dip :D

Afbeeldingslocatie: https://tweakers.net/i/zetiaymi7ksnSCD0-k0kk2bNRfw=/800x/filters:strip_icc():strip_exif()/f/image/9tihzo4BHoSaCUyFj25Z6ier.jpg?f=fotoalbum_large

Met Dip-switches rechtstreeks op het breadboard vliegt het alle kanten op maar met een Zif-socket eronder, zo merkte ik vandaag, zit het rotsvast. En hoger dus makkelijker te bereiken.

Ik heb een paar van deze keypad push buttons

[Afbeeldingslocatie: https://tweakers.net/i/HSRJRZCf4DZZRG3o8R7kirB-awc=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/kXgHlVcSLcuLBnVIXyPj88MR.jpg?f=user_large . . . Afbeeldingslocatie: https://tweakers.net/i/G0ajhPEX1Ya3lImw8pZjCiRovhE=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/ZOzDogkayFTie2xuY9EhYUia.jpg?f=user_large

Maar zoiets in Dip-switch uitvoering moet nog uitgevonden worden geloof ik. Of niet ?
Wat er naast staat zijn ook leuk, vierkante Leds.
In verhouding wel een stuk duurder, en waren niet zo makkelijk te vinden ook.

De dip-switches staan in deze opstelling
https://startingelectroni...se/tut2-AND-and-OR-gates/
volgens dit schema, linksonder
https://startingelectroni...d/Xilinx_XC9536XL_EVB.pdf

--------------------------------------------------------
Edit :
Inmiddels de dip switches op een board gevonden :)

Afbeeldingslocatie: https://tweakers.net/i/XZPJfPsyxoSnQ82qP6roK0NDT9M=/800x/filters:strip_exif()/f/image/68ZDkzPUn29EQYnyM4NvpJD6.webp?f=fotoalbum_large

PMOD-SWITCH Expansion Board
.

[ Voor 14% gewijzigd door kitao op 26-05-2025 03:54 ]


Acties:
  • 0 Henk 'm!

  • Ruitenwisser
  • Registratie: April 2025
  • Laatst online: 05-07 19:48
kitao schreef op donderdag 22 mei 2025 @ 20:36:
[...]


Na drie jaar niets meer met elektronica gedaan te hebben was het voor mij zo goed als helemaal opnieuw beginnen. Niet met alles maar bijvoorbeeld MPLab was ik destijds al mee bezig maar dan met PIC simulaties op Simulide waar je de hex voor nodig hebt en kon amper de start knop nog vinden. Sommigen hebben een ijzersterk geheugen dus ik hoop dat jij van je onderbreking minder nadeel ervan ondervindt.

Bedankt voor de tip over de oscilloscoop, ik was al een beetje aan het rondkijken maar ivm ruimte overweeg ik een usb-scoopje. Een L.A. heb ik, zie deze post
kitao in "[Discussie] Arduino-topic"
dat geeft ook een aardig overzicht ... en mooie plaatjes :)
Ja, zit nu ook over de 3 jaar er niets meer meegedaan te hebben maar helaas is mijn geheugen nu ook weer niet om ijzersterk te noemen :P.

Poeh dat is wel een mooi apparaatje voor niet veel geld. Wij werkten met de Saleae maar was wel iets duurder.

Acties:
  • 0 Henk 'm!

  • Ruitenwisser
  • Registratie: April 2025
  • Laatst online: 05-07 19:48
NewGuest schreef op donderdag 22 mei 2025 @ 21:26:
Waarom is op de pcb de track van R3 naar C23 (GND) veranderd in een troughhole track?
Waarschijnlijk om z'n GND te verbinden met z'n GND op de achterkant. Ikzelf zou aan de voorkant ook nog een GND vlak aanbrengen.

Acties:
  • +4 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
M'n allereerste SMD PCB ontworpen, een flight controller voor FPV drones:

Was noodzakelijk om van een LQFP100 (14 x 14 mm chip size, 16.7 x 16.7 footprint size) naar een TFBGA100 (8 x 8 mm chip én footprint size [want BGA]) te switchen, want anders veels te weinig ruimte. Ben erg benieuwd hoe dát gaat lukken om te solderen. Nog nooit echt SMD gesoldeerd, dus meteen naar een BGA te upgraden is, wel, interessant denk ik :+

Gisteren of nou ja, vannacht tot diep in de nacht bezig geweest.. 8 layers en in elkaar geflanst ala "Shit, nog een unconnected pin.. Alle layers in 1 grote chaos.. Hoe krijg ik die nou weer naar buiten? Eens kijken of KiCad een weg weet te vinden op deze layer die ik eigenlijk niet zou moeten gebruiken.. Hey, compleet rondom de PCB, maar er is een geldige route! Doen! Aaaand done!" :')

En wat renders:

Afbeeldingslocatie: https://tweakers.net/i/NeF8sCM3K49WI8EwYg9AYQ-H8OI=/800x/filters:strip_exif()/f/image/YKY4GKbnWANelQVVSYZDaERF.png?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/qpoKS_9oXPffLxgkbzcp__4gWJs=/800x/filters:strip_exif()/f/image/23YWpCPghN4HICyXOZDOy0iZ.png?f=fotoalbum_large

Zo met deze plaatjes lijkt het dat er nog best wel veel PCB-ruimte over is.. Maarja, als je als complete n00b vrijwel willekeurig shit aan het neerplempen bent en vrijwel alles met via's aan elkaar moet stitchen.. Blijft er toch verrassend weinig over :+

Ik heb uiteraard zoveel mogelijk rekening proberen te houden met paths over de bijbehorende ground layer et c. Maar moet toegeven, had niet echt een "plan" verder :+

Ben benieuwd of 't gaat vliegen! Nu de BOM uploaden naar JCSC (deels, voor alle kleine componentjes, de DSP368 is daar niet leverbaar, dus dan bestellen we voor de zekerheid de STM32H743 ook maar bij Mouser of Digikey) :P

edit:
En ja, het silk screen is één grote ramp.. :+ Wilde 't design afgelopen nacht nog naar JLCPCB sturen voordat het "time limited offer" voor een 8 layer PCB voor zéér weinig voorbij was.. Waarbij ik me wel afvraag hoe "limited" die "time" was, want het staat er al een week op ofzo :P

[ Voor 6% gewijzigd door Osiris op 26-05-2025 18:04 ]


Acties:
  • 0 Henk 'm!

  • blackwidow998
  • Registratie: Maart 2010
  • Laatst online: 19:59
blackwidow998 schreef op donderdag 22 mei 2025 @ 21:11:
Duurde iets langer voordat ik weer verder kon met mijn boardje.

Ik ben even opnieuw begonnen op een nieuwe print, alleen de componenten geplaatst zoals prototype 1 die wel werkte. alle andere zaken er nog niet op gesoldeerd. Deze geeft wederom 11 volt.


[...]


Daarna zat ik te denken aan de post van hans die ik voorbij zag komen en heb toen de bovenste weerstand kort gesloten. en voila, 3.3 volt uitgangsspanning. Ik heb waarschijnlijk ergens een foutje of onbewuste wijziging in mijn PCB zitten tov de eerste. Wellicht dat jullie het kunnen vinden?? Hier de versie 1 en 2 langs elkaar:

V1

[Afbeelding]

[Afbeelding]

V2

[Afbeelding]

[Afbeelding]


Maar voor een quick fix, kan ik die weerstand overbruggen en zou mijn voeding dan correct werken?
Ik zit nog eens in de datasheet te lezen. en viel me dit op:

Afbeeldingslocatie: https://tweakers.net/i/T61HburiP0H2KXD6oKTkmUFnQcc=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/fE4mR4rUw4IdgejibDIzo8Jw.png?f=user_large

Dus hier heb ik mijn antwoord waarschijnlijk gevonden. Dit verklaard ook waar hij werkt als ik de divider doorsluit. Waarom het dan bij V1 wel werkte??? Geen idee.
Ik heb het datasheet meerdere keren doorgelezen, en was altijd in de veronderstelling dat de divider altijd nodig was. Er word verder in het hele document niet over gesproken over direct verbinden met de SW pin. :X

Dus ik kan de voltage divider weglaten. Kan voor nu de weerstand overbruggen. problem solved...

Bedankt voor iedereens input. Als er nog toevoegingen zijn hoor ik het uiteraard graag.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
@Ruitenwisser
Ik kan het lastig vergelijken met de echte Saleae aangezien ik die nooit in gebruik heb gezien. Hieronder een afbeelding van de drie RS-RW-EN signalen die naar een LCD gaan dat op mijn scherm verschijnt vanaf de Atmega32A opstelling eronder. Ik weet niet of het overeenkomt met de professionele versie maar voor mijn toepassing is het secuur genoeg. De resolutie staat op 41 uS, zie rechtsonder en dat bleek het maximale bereik. Het LCD voorbeeld van Newbiehack, met aandacht op C programmeren, is op deze pagina's terug te vinden: https://buildyourcnc.com/ en
YouTube: 22. Arduino for Production! AVR Atmega32 - Displaying Number and Fi... en
https://buildyourcnc.com/...umbers-on-the-lcd-display
Code is helaas onbruikbaar want hun afdruk is te slordig. Enige manier waarop deze tutorial-serie te volgen kan worden is door de code vanuit de video's na te tikken. Twee beeldschermen zijn dan wel nodig.


Afbeeldingslocatie: https://tweakers.net/i/MxZuK0mCE8mOe3pNSbO_WTHv6JA=/800x/filters:strip_icc():strip_exif()/f/image/KnvZ4JRretjxONl2lgx1sfEx.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/kcR-agxu4nK3_ielb8sgGDVvU4c=/x800/filters:strip_icc():strip_exif()/f/image/oBDBKXskctHxZJcH6gG8iwGj.jpg?f=fotoalbum_large

Het Dipje op dit breadboard staat vreemd genoeg wel stevig op z'n pootjes en is van dezelfde batch als die van de vorige post.

@Osiris
Ik zie dat je meteen in het diepe springt, eerst een smd-pcb maken en dan pas kijken of het solderen lukt ;)
Een paar maanden geleden deed ik ook zoiets met Cpld, eerst laten leveren en dan kijken wat het nou eigenlijk is. Hier trouwens een goeie video over smd-solderen :
YouTube: SMD Soldering Tutorial | Guide | Tools | Tecniques | Stencil

@blackwidow998
Goed dat je een oplossing in de kleine lettertjes hebt gevonden en apart dat de datasheets alleen maar een typical application met een spanningsdeler laten zien op de FB :/
.

[ Voor 17% gewijzigd door kitao op 27-05-2025 14:00 ]


Acties:
  • 0 Henk 'm!

  • memphis
  • Registratie: Oktober 2000
  • Laatst online: 23:35

memphis

48k was toen meer dan genoeg.

blackwidow998 schreef op maandag 26 mei 2025 @ 23:36:
[...]


Ik zit nog eens in de datasheet te lezen. en viel me dit op:

[Afbeelding]

Dus hier heb ik mijn antwoord waarschijnlijk gevonden. Dit verklaard ook waar hij werkt als ik de divider doorsluit. Waarom het dan bij V1 wel werkte??? Geen idee.
Ik heb het datasheet meerdere keren doorgelezen, en was altijd in de veronderstelling dat de divider altijd nodig was. Er word verder in het hele document niet over gesproken over direct verbinden met de SW pin. :X

Dus ik kan de voltage divider weglaten. Kan voor nu de weerstand overbruggen. problem solved...

Bedankt voor iedereens input. Als er nog toevoegingen zijn hoor ik het uiteraard graag.
In de datasheet van de Q1 versie (die maar net iets anders is dan de niet-Q1):
Afbeeldingslocatie: https://tweakers.net/i/KUiG4BMfyaY8hoNwq6lrIpG3aEY=/800x/filters:strip_icc():strip_exif()/f/image/5FmdkZbbyoZFMSsOI2uaIgMM.jpg?f=fotoalbum_large

Kortom, je hebt de verkeerde in je ontwerp gebruikt, verkeerd besteld of verkeerd gekregen....

Er zijn mensen die mij een GOD vinden


Acties:
  • 0 Henk 'm!

  • Hans1990
  • Registratie: Maart 2004
  • Niet online
Ah dat verklaard ook waarom in de non-Q1 datasheet niets over dit fenomeen staat :+

Dan heb je zeker de LMR50410Y3 en is die feedback weerstand kortsluiten geen bodge maar een fix.

Je kan immers ook prima 0R er in zetten en de weerstand naar GND van de deler weg laten. Doe ik regelmatig voor chips met fixed output zodat ik er altijd nog een ADJ op kan zetten (of: de 3.3V als adjustable gebruiken).

Nou, ik ook weer wat geleerd dat -Q1 varianten wel degelijk flink kunnen verschillen.

Acties:
  • 0 Henk 'm!

  • memphis
  • Registratie: Oktober 2000
  • Laatst online: 23:35

memphis

48k was toen meer dan genoeg.

In de tekening zie ik ook de Y3 staan dus vanaf het ontwerp is al de verkeerde ingeslopen.

Er zijn mensen die mij een GOD vinden


Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
kitao schreef op dinsdag 27 mei 2025 @ 09:27:
@Osiris
Ik zie dat je meteen in het diepe springt, eerst een smd-pcb maken en dan pas kijken of het solderen lukt ;)
Een paar maanden geleden deed ik ook zoiets met Cpld, eerst laten leveren en dan kijken wat het nou eigenlijk is. Hier trouwens een goeie video over smd-solderen :
YouTube: SMD Soldering Tutorial | Guide | Tools | Tecniques | Stencil
Ja, m'n eerste through-hole-design ging prima, laatst een FPV drone in elkaar gesoldeerd, dus waarom vervolgens niet de overtreffende trap hè :')

Goed excuus om een Miniware MHP50 en Velleman hetelucht-station aan te schaffen, toch? :P

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Mooi spul, het desoldeer-station zou ik ook wel willen hebben. Ik heb nu voor mislukte aanhechtingen alvast een 2e soldeerbout erbij klaar staan, als een soort brandblusser bij heet werk met een brede platte punt. Met een fijne punt op wick desolderen bleek namelijk niet goed te gaan en tussendoor van punt wisselen is nogal irritant.

Tja, volgende stap ... die komt voor mij niet want voor mij is de overstap van normale componenten naar smd exponentioneel. Vandaar dat het oscilloscoop kitje uit de vorige post al smd voorgefrabriceerd heeft. Jammer alleen dat ze de mini-usb er dan ook niet even op zetten :N

Je gebruikt KiCad meen ik voor het Pcb-ontwerp? Voor simulaties heb ik het Proteus Arduino pakket maar ik zag dat zij ook PCB software leveren https://www.labcenter.com/
Niet dat ik dat zelf wil gaan proberen maar is altijd leuk om te zien. In het verleden heb ik wel eens een printje geëtst in een steelpannetje dat er ongeveer zo uit zag

Afbeeldingslocatie: https://tweakers.net/i/kLA_oCt4js-ZkKwNLoVHOXlL8Tw=/800x/filters:strip_icc():strip_exif()/f/image/7EchWVNimNDncLdhFoTPQWtj.jpg?f=fotoalbum_large

Acties:
  • +2 Henk 'm!

  • memphis
  • Registratie: Oktober 2000
  • Laatst online: 23:35

memphis

48k was toen meer dan genoeg.

Kicad werkt wel lekker. Hoewel ik van een ver verleden ervaring had met Ultimate en Ultiboard was ik vorig jaar begonnen met KiCad. In 2 middagjes tekenen met behulp van het online zoeken naar hoe bepaalde dingen moet had ik van niets een eindproduct waarvan later bij JLPCB de print werd gemaakt.

Afbeeldingslocatie: https://tweakers.net/i/_TIvirKluH_Ds1gt76YMNT-GdZc=/800x/filters:strip_exif()/f/image/zNqy4RLilWtVamdKjJmAAVFd.png?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/1H1NwR2k5Slo8sGpLiW_B90Skas=/x800/filters:strip_exif()/f/image/sTV5KWS58MPPxQHdaVnR8qNT.png?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/9tZgHufL-K5gPq_CTH9psGYhT60=/800x/filters:strip_exif()/f/image/2wGTW3BRokODcsVrwB4jr9QG.png?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/xFhg2-d15XkhQzbWKCi3Jb5acTg=/800x/filters:strip_icc():strip_exif()/f/image/AjV6uKAczTqfIjXGnr1LJT5H.jpg?f=fotoalbum_large

Er zijn mensen die mij een GOD vinden


Acties:
  • 0 Henk 'm!

  • Ruitenwisser
  • Registratie: April 2025
  • Laatst online: 05-07 19:48
kitao schreef op dinsdag 27 mei 2025 @ 09:27:
De resolutie staat op 41 uS, zie rechtsonder en dat bleek het maximale bereik.
Dat ga je me toch even moeten uitleggen. Je meet pulsen van 3 uS dus je resolutie is veel hoger dan 41 uS.

Verder lijkt het me een regelrechte clone van de Saleae en dus prima voor een hobbyist die geen 500+ wilt neerleggen. Ik kan het niet direct zien maar ik hoop dat de software van die clone ook verschillende protocollen kan vertalen, dat was wel handig aan die Saleae.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
@Ruitenwisser
Scherp gezien dat het 3 uS zijn maar het is zo dat de waarden van periode, frequentie en duty cycle niet zomaar verschijnen, die heb ik zelf in beeld gebracht. Ik vermoed dat de 41 uS tijd per divisie zijn.
I2C , SPI en Uart zitten inderdaad in dit software pakket opgenomen.

Ik vermaak me vaak beter met de software als met de opbouw van een schakeling. Staat die er eenmaal dan blijft er verder niet veel interactie meer over, tenzij je het programma wil wijzigen en uittesten maar ik programmeer niets zelf.

Afbeeldingslocatie: https://tweakers.net/i/5SouKBSMd2JeX58DJoEbn1cr5o0=/x800/filters:strip_icc():strip_exif()/f/image/obYeDloj8LL5XNaKwr20hIQN.jpg?f=fotoalbum_large . . Afbeeldingslocatie: https://tweakers.net/i/-CR3K1P1gTYV_tc10zmcA-YQ62Q=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/YfYytAiV9tTh9oSwhqZe7IbN.jpg?f=user_large
YouTube: Assembly via Arduino - 74HC4067 DEMUX
code onder video

Daarom zet ik de code niet alleen in de Arduino Ide maar ik kan die ook in Atmel Studio, MPLab *, Simulide of Proteus plaatsen.
Deze keer koos ik voor Proteus waar niet alleen de simulatie kan worden uitgevoerd maar ook door het programma heen gestapt kan worden, oftewel debuggen. In bepaalde opzichten gaat dat zelfs vlotter als in Studio, met name het Over en Out Steppen.

Afbeeldingslocatie: https://tweakers.net/i/3GszBm8iK_XnIN_VDB4WnHBslgM=/800x/filters:strip_icc():strip_exif()/f/image/RQiWghnr5t9GwR4DfjIhcW5w.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/9dLou91v30YKh7VdBmk_Ag5NbAg=/800x/filters:strip_icc():strip_exif()/f/image/HQXi7fRdajauPeIoTQRwVUsF.jpg?f=fotoalbum_large

Van Proteus is ook een demo-versie, dan kan er niet opgeslagen worden maar als je de computer aan laat staan of in slaap modus houdt dan blijft de simulatie dagen in stand maar dan kan er meen ik niet op deze manier een Nano erin worden gezet. Soms zit het tegen, zo had ik eerst de linkse 16-channel demux erin gezet en een uur zitten klikken maar geen enkel ledje ging aan. Daarna wat verder gekeken en de rechtse, die identiek is, blijkt wel simulatie geschikt :F

Afbeeldingslocatie: https://tweakers.net/i/XCrnSd0ttuytYOh8R5lgT-qPUPU=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/b1ytjiTpMGupFgKOLsXcOj8P.jpg?f=user_large

De software maakt het allemaal wat interactiever voor mij want echt veel praktische toepassingen voor elektronica heb ik niet, zoals bijvoorbeeld een ventilator temperatuurregeling of een inbrekersalarm :/

*Arduino code overzetten naar MPLab is me nog niet gelukt maar schijnt wel mogelijk te zijn na toevoeging van een plug-in.
.
Ps
Bij een micro-controller simulatie in Simulide is een hex-file nodig, die kan o.a. vanuit de Arduino IDE verkregen worden via menu Sketch > Export Compiled Binary, vervolgens rechtsklikken op de Nano en dan Load Firmware kiezen.

Afbeeldingslocatie: https://tweakers.net/i/1jp7_UgEaXsPkrayBBfEh99c4rM=/800x/filters:strip_icc():strip_exif()/f/image/s9fNH304FvK2xVx3VRitQCCv.jpg?f=fotoalbum_large
.

[ Voor 14% gewijzigd door kitao op 29-05-2025 09:29 ]


Acties:
  • 0 Henk 'm!

  • Ruitenwisser
  • Registratie: April 2025
  • Laatst online: 05-07 19:48
Je sample rate van je bakje is 24MHz, dus je resolutie lijkt dan eerder maximum 80nS, maar geen idee wat je ingesteld had.

En ik zie juist ook dat je de Saleae software ervoor gebruikt, iirc zou die de freq, dc en periode ook moeten weergeven maar het is wat te lang geleden.

Acties:
  • +1 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
@Ruitenwisser
Bedankt voor het meekijken weer :)
Er staat inderdaad 24 MHz op
https://www.tinytronics.n...ic-analyzer-8-channel-usb
en verder heb ik niks ingesteld, drie draadjes aangesloten en op de inzoem knop rechts onderaan gedrukt totdat het niet verder gaat.

Je kan het eventueel ook zelf proberen met de software zoals hier beschreven
kitao in "[Discussie] Arduino-topic"
en dan een demo gebruiken. Heb ik net ook gedaan, dus zonder kastje aangesloten en dan krijg ik dit te zien:

Afbeeldingslocatie: https://tweakers.net/i/iMzoaspXC3fTjlYZJ8dxjYoVqow=/800x/filters:strip_icc():strip_exif()/f/image/c7kBpAb34qpMQ5Wm2gcS86Sx.jpg?f=fotoalbum_large

Rechtsonder staat nu 4 uS in plaats van 41 uS dus er zit vooruitgang in :)
.

Acties:
  • +1 Henk 'm!

  • Hans1990
  • Registratie: Maart 2004
  • Niet online
Rechtsonder is de totale tijdsperiode van de x-as.

Je kan bij device de samplerate instellen. Hogere samplerate gebruikt meer geheugen (hoewel de Saleae wel e.e.a aan compressie doet). Op mijn MBP met dongles, hubs, e.d. is de hoge samplerate ook wat buggy als ik tegelijk ook devices ga debuggen (USB hub gaat dan op z'n gat).

Op de nieuwere Saleae devices is het ook nuttig om de samplerate in te stellen, omdat met minder kanalen je sneller kan samplen. Maar op de kloon Logic 8 is dat niet nodig.
Ik gebruik persoonlijk de Sigrok software overigens. Geen geneuzel met Saleae software "piraten" en doet voor mij wat het moet doen.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Hans1990 schreef op donderdag 29 mei 2025 @ 14:05:
Rechtsonder is de totale tijdsperiode van de x-as.

Je kan bij device de samplerate instellen. Hogere samplerate gebruikt meer geheugen (hoewel de Saleae wel e.e.a aan compressie doet). Op mijn MBP met dongles, hubs, e.d. is de hoge samplerate ook wat buggy als ik tegelijk ook devices ga debuggen (USB hub gaat dan op z'n gat).

Op de nieuwere Saleae devices is het ook nuttig om de samplerate in te stellen, omdat met minder kanalen je sneller kan samplen. Maar op de kloon Logic 8 is dat niet nodig.
Ik gebruik persoonlijk de Sigrok software overigens. Geen geneuzel met Saleae software "piraten" en doet voor mij wat het moet doen.
Ok, bedankt, nu je het zegt, met de sample rate had ik al eens eerder zitten spelen maar voor nu was het allemaal een beetje tussen neus en lippen door. Ik heb eenzelfde opstelling gezocht maar dit keer met een Uno en een Lcd-Hello World example met RS en EN aangesloten op de L.A.

Afbeeldingslocatie: https://tweakers.net/i/yCvrwNaN1PhB9XMuYwgSIY1v4NQ=/x800/filters:strip_icc():strip_exif()/f/image/fXJwbIpyRor9NJFPk6gCxj2T.jpg?f=fotoalbum_large

Dan komt dit eruit, met sample rate op z'n max, namelijk 24 MS/s

Afbeeldingslocatie: https://tweakers.net/i/DigITi-Sw9uXyEGdIgkx9q1eXrM=/800x/filters:strip_icc():strip_exif()/f/image/Y5bEGXdFqQarqQ4U76CeRMdD.jpg?f=fotoalbum_large
klik voor scherper beeld

Rechtsonder staat nu 2 uS ipv 4 uS na maximaal inzoemen bij 24 MS/s.

De Saleae-software staat vrij op het internet om te downloaden, er hoeven geen licentie sleutels voor gekraakt te worden om toegang te verkrijgen.
.

Acties:
  • +1 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Over software gesproken .. ik volg o.a. deze projectjes
https://embetronicx.com/t...erfacing-with-pic16f877a/
code is goed te bekijken met het knopje extern rechtsboven ervan.
Bij het compileren ervan met XC8(v3.00) werd deze error gegeven driver_tmp_1.s:620:: error: (876) syntax error.
Zoeken in de documentatie naar error(876) in hfdst. 8 levert weinig bruikbare informatie op.
https://onlinedocs.microc...F9F089-en-US-4/index.html
Na wat googlen de compiler keuze veranderd naar XC8(v2.36) en dat ging wel goed. Je zou denken dat een nieuwere versie een beetje compatible is met de oude. :| En hoe vind je zo de syntax error nog terug ? :/

De LCD deed het goed op de 877A en dezelfde code wat aangepast en in de PIC16F57 geladen, met succes mede dankzij de uitleg die ik kreeg over het Write-only aspect van z'n Tris-registers. :)

Afbeeldingslocatie: https://tweakers.net/i/ncSsFFV0kvY3y3L13dmfldXX5H4=/x800/filters:strip_icc():strip_exif()/f/image/lTdG12HeN0JnMqdXQe297aUp.jpg?f=fotoalbum_large

De PIC16F57 wordt tot op heden nog steeds gebruikt op de Basic Stamp van Parallax en dat draait op PBasic en dat geeft behoorlijk veel toepassingen die met dit IC'tje uitgevoerd kunnen worden, een soort Zwitsers zakmes en erg knap hoe dat er allemaal ingestoken is. https://www.parallax.com/...cs/Reference/AlphaRef.htm
Edit: Niet alle commando's zijn bruikbaar voor de 16F57, alleen die met een groen tweetje ernaast (BS2).

Nadeel is wel dat voor mij de achterliggende bewegingen uit beeld verdwijnen bij programma's met PBasic.
Ik zoek dus eigenlijk een PBasic vertaler naar C of assembly, in ieder geval vertaald naar de interne registers van deze microcontroller. Misschien dat iemand al weet hoe dat ongeveer zit, waar te beginnen ?

-----------------------------------------------------

Inmiddels nog een voorbeeld kunnen overzetten, deze is met een stepper en twee knoppen voor links- en rechtsom. Via een andere site deze keer: https://deepbluembedded.com/how-to-control-stepper-motor/

Afbeeldingslocatie: https://tweakers.net/i/kDYktFthcbKnELWc_KnoX2QhjrM=/x800/filters:strip_icc():strip_exif()/f/image/1HSPCpCdsqwqrUAPQkZYy6Jf.jpg?f=fotoalbum_large

Code gewijzigd tot dit om het te kunnen overzetten van 877A naar 16F57
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// PIC16F57 Configuration Bit Settings
#pragma config OSC = HS         // Oscillator selection bits (HS oscillator)
#pragma config WDT = OFF        // Watchdog timer enable bit (WDT disabled)
#pragma config CP = OFF         // Code protection bit (Code protection off)

#include <xc.h>
#include <stdio.h>
#include <stdlib.h>
#include<htc.h> //<htc.h> is the top level where it determines what family of PIC is the target.
#include<pic.h> // pic.h tells the compiler how to handle chip setup osc for delay timing.
#define _XTAL_FREQ 20000000 //Specify the XTAL crystal FREQ

void main(void) 
{
  // Create Bit-Shifting Variable
  unsigned char i=0;
  // Set PORTB 8-Pins To Be Output Pins
  TRISB = 0x00;
  // Set All PORTB Pins To Be OFF (Initially) !
  PORTB = 0x00;
  // Set RC0, RC1 Pins To Be Input Pins
  // 22222222222222222222222222222222222222222   TRISC = 0b00000011; --  WERKT
  // TRISC0 = 0; --  WERKT NIET
  // TRISC1 = 1; --  WERKT NIET
  TRISC = (1<<0) | (1<<1) ; // --  WERKT 
  // TRISC = TRISC &~(1<<4); --  WERKT NIET
  // TRISC | = (1 << 6) ; // Set bit 6 -- WERKT NIET
  
  // Create The System's Main Routine !
  while(1)
  {
    // While Button1 is pressed, Rotate CW
    while(RC0)
    {
      PORTB = (1<<i); 
      i++;
      __delay_ms(10);
      if (i==4)
          i=0;
    }
    // While Button2 is pressed, Rotate CCW
    while(RC1)
    {
      PORTB = (8>>i); 
      i++;
      __delay_ms(10);
      if (i==4)
          i=0;
    }
  }


Ik vroeg me af waar de jumpers voor zijn op het driver boardje, na een tijd zoeken

Afbeeldingslocatie: https://tweakers.net/i/3PovZanHCFoithLsrRiYliF2tS0=/800x/filters:strip_icc():strip_exif()/f/image/hT3v5j10wNf23cEcdyXw7qUl.jpg?f=fotoalbum_large
https://www.thegioiic.com...n-dong-co-buoc-xanh-duong

Uiteindelijk met genoeg voorbeelden in C wordt wel duidelijk wat er gebeurt in vergelijking met PBasic maar buiten dat ik vrijwel geen C-code voorbeelden voor de 16F57 ben tegengekomen, is dat niet het hele verhaal. Zoals ik begrepen heb maakt bijvoorbeeld een MPLAb via de XC8-compiler een hex-file aan die vervolgens met de PicKit3 in de micro wordt geflasht maar zo gaat het volgens mij niet met de Basic Stamp software. Schijnt namelijk dat de PIC16F57 op de BS2 een interpreter voorgeprogrammeerd heeft zitten.
PIC16F57 Interpreter chip is preprogrammed with the BASIC Stamp 2 Interpreter firmware. The three main components needed to build your own BASIC Stamp are the PBASIC Interpreter Chip, EEPROM, and resonator. https://www.parallax.com/...p-2-interpreter-chip-dip/ en Wikipedia: BASIC Stamp

PBASIC was created to bring ease of use to the microcontroller and embedded processor world. It is used for writing code for the BASIC Stamp microcontrollers. After the code is written, it is tokenized and loaded into an EEPROM on the microcontroller. These tokens are fetched by the microcontroller and used to generate instructions for the processor. Wikipedia: PBASIC

Arduino link voor de liefhebber :)
https://arduinogetstarted...otor-using-uln2003-driver

----------------------------------------------------------------------------
Tot slot nog een derde site die ik volg https://circuitdigest.com...r-pic16f877a-adc-tutorial

Afbeeldingslocatie: https://tweakers.net/i/e3T1hxgjOSfZNr-u146NK0uhQJc=/x800/filters:strip_icc():strip_exif()/f/image/WmUC5nGOALrJEMt0kD4iCFLo.jpg?f=fotoalbum_large

Viel aanvankelijk totaal niet te compileren met voor mij abracadabra errors in de output die me ongeveer deze kant opstuurden: https://forum.microchip.c...5C3l000000MbdSEAS/t374730
Na ruim een uur gokkend diverse instellingen klikkend en herstart te hebben pakte het dan eindelijk maar waarom is me niet duidelijk.

Anyway, er staan in deze post drie goeie websites die de veel gebruikte PIC16F877A als voorbeeld geven dus ik hoop dat iemand er wat aan heeft. :) Hier de indexpagina's :
1. https://circuitdigest.com...-with-pic-microcontroller
2. https://deepbluembedded.c...-tutorials/#PIC-Tutorials
3. https://embetronicx.com/pic16f877a-tutorials/
.

[ Voor 63% gewijzigd door kitao op 31-05-2025 19:01 . Reden: Zie Edit: ]


Acties:
  • +1 Henk 'm!

  • szjoin
  • Registratie: Februari 2011
  • Laatst online: 24-06 12:28
Hi all,

Hopelijk is dit forum nog steeds in leven en kan iemand mij een tip geven moet het volgende.
Zie:

Afbeeldingslocatie: https://tweakers.net/i/UN2WkFYO9Jghy1lVDuUrqCdtsxE=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/hjdYzPcSNfRUY9wnS9gCnl8y.png?f=user_large

Dit is gedaan in KiCAD9.0 met de standaard instellingen.

Vraag: hoe kan ik ervoor zorgen dat de groundplane tussen de THT pads verbonden is?

Nu wordt de return-current voor sommige componenten helemaal om het IC geleid en is er een kans op potentiaal verschil indien ik daar niet expliciet rekening mee hou.

Ik heb al geGOOGLEd en de help functies geprobeerd maar kan niets vinden.

Dank alvast!

Acties:
  • +3 Henk 'm!

  • JCG
  • Registratie: Januari 2004
  • Laatst online: 08-07 14:57

JCG

PA1JCG

szjoin schreef op dinsdag 10 juni 2025 @ 10:19:

Vraag: hoe kan ik ervoor zorgen dat de groundplane tussen de THT pads verbonden is?
Ground plane eigenschappen open en bij electrical properties de clearance kleiner maken of minimal width kleiner maken. een van die twee staat net iets te hoog.
Andere optie is met de hand er een ground spoortje tussendoor trekken.

Let wel op dat je niet te ver gaat met die waardes, printen worden duurder hoe smaller sporen en clearances je instelt. (In stappen, dus van 0,25 maar 0,24 kan duurder zijn terwijl 0,24 naar 0,23 weer niet, je printenboer heeft er vaak informatie over)

[ Voor 5% gewijzigd door JCG op 10-06-2025 10:45 ]


Acties:
  • +1 Henk 'm!

  • szjoin
  • Registratie: Februari 2011
  • Laatst online: 24-06 12:28
Dank voor de goede tips!

Clearance was reeds 0mm. Een minimum width van 0,24mm was de oplossing.

Acties:
  • 0 Henk 'm!

  • JCG
  • Registratie: Januari 2004
  • Laatst online: 08-07 14:57

JCG

PA1JCG

szjoin schreef op dinsdag 10 juni 2025 @ 13:40:
Dank voor de goede tips!

Clearance was reeds 0mm. Een minimum width van 0,24mm was de oplossing.
Die clearance is handig om wel naar 0,24 mm te zetten. Nu zal het waarschijnlijk goed gaan omdat je sporen en pads ook een clearance waarde hebben, maar als je in de toekomst meerdere "vlakken" gebruikt, bijvoorbeeld naast een ground plane ook een voor de plus is de clearance wel handig om ze gescheiden te houden.

Acties:
  • +1 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Soms valt dit subforum een beetje stil maar iedereen weet het meestal wel te vinden bij een vraag of gewoon om wat te lezen. ;)
Wat ik al een tijdje zo nu en dan probeer is om de XC8 compiler een path te geven naar Simulide maar het lukt me niet. Hieronder staat een partij ingewikkeld waar ik liever niet aan begin aangezien het meer luxe als noodzaak is want ik kan gewoon de hex die gegenereerd is in MPLab in de Sim-microcontroller uploaden.
https://simulide.com/p/compiler/
En ik snap dat bij vragen daarover ik beter op hun forum kan zijn.

Circuit Digest had namelijk een mooi projectje waar drie dingen samen komen, zoals ADC, Timer en CCP - Capture-Compare-Pwm en dat bleek zonder hindernissen te realiseren. Althans, compiler versie 3.0 werkt niet, 2.36 wel.
https://circuitdigest.com...r-pic16f877a-pwm-tutorial

Het circuit bevat een 10 uF condensator maar zelfs een 1 uF kon ik amper vinden. Gelukkig is elektronica niet al te groot en kun je nog wat bewaren zonder hele kasten ermee op te vullen. En vond ik deze :

Afbeeldingslocatie: https://tweakers.net/i/oV7yBm1gOD-8O6wpT3EiV69Am9A=/x800/filters:strip_icc():strip_exif()/f/image/2zk6w0I4w5UvXRmuHOr7XqrK.jpg?f=fotoalbum_large Afbeeldingslocatie: https://tweakers.net/i/mkj8MaLxidzwQSNEibfYkpFtWds=/x800/filters:strip_icc():strip_exif()/f/image/K3hDYbqNMntYbCbTDQqvyyHa.jpg?f=fotoalbum_large

Past perfect in een breadboard :) Ernaast is de totale opstelling met het zilveren blokje nog net zichtbaar.
Zelfs de simulatie bleek goed te werken al is dat dan niet met Proteus zoals in het artikel maar met Simulide.

Afbeeldingslocatie: https://tweakers.net/i/KLy0mK0sqaJcQh4d6mxA9VF1Jl0=/800x/filters:strip_icc():strip_exif()/f/image/5TiJNQjQcV9tvUng552cvqtm.jpg?f=fotoalbum_large

De duty-cycle moet je zover ik weet zelf berekenen maar Simulide is freeware en de simulatie reageert in dit geval precies zoals de echte opstelling op het breadboard. En met een paar klikken is het nagetekend. (y)

https://simulide.com/p/oscilloscope/

Ps, deze is ook best apart:
ADCON0 |= channel<<3; //Setting the required Bits
Pas na debuggen werd mij dit duidelijk. Ik dacht altijd dat de bit-verschuivingen vanaf het begin of eind van een register werd gedaan maar de instructie hierboven springt er midden in en verschuift vanaf de Channel 0 bit.

Afbeeldingslocatie: https://tweakers.net/i/Gay2W6Sk9PsJHAet5bzlj2G71Yg=/800x/filters:strip_icc():strip_exif()/f/image/8uQDl7w52XhIM2NftcXwma01.jpg?f=fotoalbum_large

De uitkomst wordt dan CH2=1, CH1=0 en CH0=0 oftewel Pin AN4 wordt daarmee geselecteerd.
.

[ Voor 12% gewijzigd door kitao op 10-06-2025 16:05 ]


Acties:
  • 0 Henk 'm!

  • Hagdos
  • Registratie: April 2022
  • Laatst online: 08-07 16:20
De variabele "channel" wordt drie naar rechts links geschoven, en dan in een OR gezet met de vorige waarde van ADCON0.

Channel is dan waarschijnlijk 0b100. De OR is zodat de andere bits van ADCON0 niet veranderen.

[ Voor 3% gewijzigd door Hagdos op 11-06-2025 07:09 ]


Acties:
  • +1 Henk 'm!

  • Bas...
  • Registratie: December 2022
  • Laatst online: 19:14
Naar links :)

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Hagdos schreef op dinsdag 10 juni 2025 @ 22:38:
De variabele "channel" wordt drie naar rechts links geschoven, en dan in een OR gezet met de vorige waarde van ADCON0.

Channel is dan waarschijnlijk 0b100. De OR is zodat de andere bits van ADCON0 niet veranderen.
Ah, dank je wel. Ik dacht dat channel een C-code instructienaam was voor de bitgroep CH2,CH1,CH0 maar het is inderdaad een variabele zie ik nu. Met de waarde 4 vanuit main.

C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
unsigned int ADC_Read(unsigned char channel) // <=  variabele "channel" wordt hier aangemaakt.
{
  ADCON0 &= 0x11000101; //Clearing the Channel Selection Bits
  ADCON0 |= channel<<3; //Setting the required Bits
  __delay_ms(2); //Acquisition time to charge hold capacitor
  GO_nDONE = 1; //Initializes A/D Conversion
  while(GO_nDONE); //Wait for A/D Conversion to complete
  return ((ADRESH<<8)+ADRESL); //Returns Result
}
void main()
{
    int adc_value;
  TRISC = 0x00; //PORTC as output
  TRISA = 0xFF; //PORTA as input
  TRISD = 0x00;
  ADC_Initialize(); //Initializes ADC Module
  PWM_Initialize();  //This sets the PWM frequency of PWM1
  do
  {
    adc_value = ADC_Read(4); //Reading Analog Channel 0 
    PWM_Duty(adc_value);
      __delay_ms(50); 
  }while(1); //Infinite Loop
}

https://circuitdigest.com...r-pic16f877a-pwm-tutorial
Dus zoals ik het nu begrijp wordt ADCON ge-orred met 0000 0100 dat drie plekken naar links schuift dus dan wordt ADCON |= 0010 0000 ;

Dit krijg ik in beeld bij 2x single steppen vanaf het rode breakpoint (de plaatjes worden scherper met een klik erop).

Afbeeldingslocatie: https://tweakers.net/i/AJeQNIDBAbMz_l9EjehPPkIphD0=/800x/filters:strip_icc():strip_exif()/f/image/xpbmnSJshlFHR0ixatErHVWs.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/9AQr7Gz40Kyn6tm7yVbFYy7Ijeo=/800x/filters:strip_icc():strip_exif()/f/image/p7EZ9fYqhGHm0MJ4RFUiUIRH.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/sxp6ch1sFi7xWd2jD-WusxJfXQk=/800x/filters:strip_icc():strip_exif()/f/image/79WuKuNT0gBvXDEuUFCnHh8D.jpg?f=fotoalbum_large

Dat maakt dus de OR-bitshift met variabele channel=4 wel duidelijk, dank je wel, maar nu het toch in beeld is, wat verder valt te zien is dat bit 6 begint met een 1 en na de anding met ADCON0 &= 0x11000101; verandert in een 0. :?
Ik ga er vanuit dat dit een compiler 'hick-up' is want dit zou toch niet moeten gebeuren eigenlijk? :/
.

Acties:
  • +2 Henk 'm!

  • Bas...
  • Registratie: December 2022
  • Laatst online: 19:14
0x11000101 is een 32 bits getal in hex notatie. Dat moet vast 0b.... zijn.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
@Bas...
Scherp gezien, je hebt volkomen gelijk. Al het vorige toont dus meteen aan waarom ik niet meer aan zelf programmeren begin, heb dat een aantal jaren geleden eens met C++ geprobeerd maar liep vast bij classes dus ik heb me voorgenomen alleen nog maar te proberen om het enigzins te kunnen lezen. Ook dat is dus geen succes helaas :| Vooral omdat ik die spelfout van 0b naar 0x al een keertje eerder bij hun was tegen gekomen. En er dan toch nog overheen lees. Bedankt voor het meekijken (y)
Dit is na jouw correctie :

Afbeeldingslocatie: https://tweakers.net/i/c0MotseJh0MGqzrXzEz9IVXkl9Y=/800x/filters:strip_icc():strip_exif()/f/image/oAma9kExGLFfuxVw0fE7iOzN.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/75EomgJjakcktnh6F1hWUy73INQ=/800x/filters:strip_icc():strip_exif()/f/image/RPIUm73hUSdVh9OLt0nZpJek.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/O64DLQIj0oZOfyCjNhuMZLfDPkw=/800x/filters:strip_icc():strip_exif()/f/image/xM70sWxdx6eubYdWZVEhzDcv.jpg?f=fotoalbum_large
.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Bijkomend voordeel voor niet programmerende gebruikers is wel dat het instellen van een IC steeds meer beweegt naar een muis-klik gebeuren. Voorbeeld daarvan is MCC (MPLAB ® Code Configurator) van Microchip.

Afbeeldingslocatie: https://tweakers.net/i/fDDBHejfHilWKo4hOlm91cnElUg=/800x/filters:strip_icc():strip_exif()/f/image/aO5R7s18kHWO8QPnZtXv8NtK.jpg?f=fotoalbum_large......Afbeeldingslocatie: https://tweakers.net/i/PPX5zHzqjSPF5wG469TNz0Rfw2c=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/6fJ0Ior6VpZGCj2oUPUdWZGj.jpg?f=user_large

https://mu.microchip.com/...ng-mcc-and-state-machines

Eigenlijk niet geschreven voor de CLB PIC16F13145 die ik heb maar met wat gokken en enige code wijzigingen valt bovenstaande tutorial tot nu best uit te voeren en met code wijzigingen bedoel ik bijvoorbeeld dit :
#include "mcc_generated_files/mcc.h" naar #include "mcc_generated_files/system/system.h"
Desondanks, met het juiste bordje erbij vind ik persoonlijk dat Microchip veel produktondersteuning levert in de vorm van video's en PDF's, ook voor de niet-deskundigen. Met een ander bordje vraagt het wat meer ervaring. Maar goed, punt is dat het instellen van registers meer beweegt naar een tekstueel keuzemenu, dat op zich niet nieuw is en al te zien was bij GCGBasic en ik meen ook bij Arduino.

Afbeeldingslocatie: https://tweakers.net/i/HQF9EoHSFEHqAaoksTk7W7sraDE=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/wxfJ8jKdXabz3rAmlHPlkNNG.png?f=user_large

Acties:
  • 0 Henk 'm!

  • NewGuest
  • Registratie: Mei 2007
  • Laatst online: 22:47
Interessant, ik kende Microchip University nog niet. Ik liep met MPLAB altijd vast in het programmeren bij gebrek aan voorbeelden. Ik ben ooit begonnen via de website picbasic.nl maar de ontwikkeling van PIC Basic is beeindigd.

Acties:
  • 0 Henk 'm!

  • Ruitenwisser
  • Registratie: April 2025
  • Laatst online: 05-07 19:48
Poeh wat zijn ze vooruit gegaan. Entry level is serieus aan het dalen. Maar ik vond het uitpluizen van de datasheet de halve fun :P

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Helemaal click-and-play is het nog niet .... :|

Afbeeldingslocatie: https://tweakers.net/i/6c7LlWVrOWkVa0JiryLKmSpMZ3U=/800x/filters:strip_icc():strip_exif()/f/image/VIrPouFM8czGqFKPkLR4etDB.jpg?f=fotoalbum_large

Heeft allemaal weinig nut als je zelf allerlei regels er tussen moet plakken, tenminste, het wordt dan gewoon overtikken en zodra je geen voorbeeld hebt loopt het vast :-( Overigens loopt het nu al vast, in mijn MCC voor de Pic16F13145 is de gegenereerde functie void TMR1_Callback (void) nergens te bekennen en elders die regel er tussen plakken levert geen werkend resultaat op.

Toch .. als je genoegen weet te nemen met mislukkingen maar waar je toch meer ervaring door krijgt dan is het best leuk om te proberen. En het wijst je weer door naar andere pagina's, als je bereid bent te zoeken. Bijvoorbeeld wat is een Callback ? >>
https://developerhelp.mic.../peripherals/timers/t2cb/
Website developerhelp ligt momenteel plat, dit is de link tekst >
Interrupt Delay Using Callback Function in MCC - Developer Help
27 May 2025 · By setting a callback counter value during the MCC driver setup, longer delays are easily established. This project shows how to control the Flash rate of an LED using a callback …


PicBasic kon ik dan weer niet (y) en wat is er mis mee als de toegang laagdrempeliger is geworden ?! :?
En wees niet bang, zonder enig inzicht van een datasheet kom je niet ver, sorry als ik daarover een verkeerde indruk heb geschetst want hoe kun je bijvoorbeeld een Fosc/4 aanklikken als je geen idee hebt wat dat is ? Dat gaat dus niet.

Zeer recente MCC playlist
YouTube: MCC Melody Example Components: TIMER Toggle LED, Polled Implementation

Video 1 is na te spelen, al heb je een ander bordje als in het voorbeeld.
Belangrijk is dan wel om de configuratie instructies te volgen die bij jouw bordje worden aangegeven en die anders kunnen zijn als in de video.

Afbeeldingslocatie: https://tweakers.net/i/2BF_IvUlkvhpis0DVfOQ1v7zRio=/x800/filters:strip_icc():strip_exif()/f/image/ICHwwh2LyEIZ0OF7ZjGe9zDn.jpg?f=fotoalbum_large

Zoals deze :
Timer: Dependency Selector ➔ Timer PLIB Selector: <Select any PLIB>
met een klik op de i kom je dan hier:
https://onlinedocs.microc...B5-4B1E-9BF8-9B20952CEBD9
Doe je dat niet dan krijg je verkeerd gegenereerde MCC-files en daardoor geen build compilatie. :/
.

[ Voor 34% gewijzigd door kitao op 14-06-2025 18:09 ]


Acties:
  • 0 Henk 'm!

  • Ruitenwisser
  • Registratie: April 2025
  • Laatst online: 05-07 19:48
Wel ik hoop dat ze uitleggen wat een oscillatie frequentie is :P.

En eenmaal wat je weet wat callbacks zijn, kun je er zoveel mee doen. Gewoon mee oppassen dat je niet aan het blokken bent in een interrupt handler.

Acties:
  • +1 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Ruitenwisser schreef op zaterdag 14 juni 2025 @ 20:36:
Wel ik hoop dat ze uitleggen wat een oscillatie frequentie is :P.
Die uitleg is waarschijnlijk niet in een datablad terug te vinden en wordt meestal verondersteld al bekend te zijn bij de lezer. Dat is eigenlijk ook de reden dat ik daarnaast bezig ben met Atmega32-A, Atmega32-8P die op de Arduino Uno en Nano zit en de PIC16F877A waar veel voorbeelden van zijn en in die voorbeelden nog handmatig geconfigureerd worden. Daarnaast zijn de databladen nog overzichtelijk en enigzins behapbaar maar ook daarin wordt verwezen naar meer omvangrijke documentatie, zoals naar dit reference manual DS33023
https://ww1.microchip.com/downloads/en/DeviceDoc/33023a.pdf
De PIC16F13145 die ik als Curiosity Nano Board heb heeft een datablad van 600 pagina's. Het IC in het MCC video-voorbeeld, de PIC18F57Q43, hier als Curiosity Nano Evaluation Kit
https://www.microchip.com/en-us/development-tool/DM164150
heeft een datablad van 1.000 bladzijden. Daarom is volgens mij ook software zoals MCC ontwikkeld om sneller van het ene IC naar het andere IC te kunnen 'overstappen'. Met een meer universele aanpak zeg maar.
https://www.microchip.com...e/mplab-code-configurator
Overigens zijn de Curiosity boardjes goed betaalbaar, rond de 10 euro per stuk. Jammer alleen dat de verzendkosten even duur zijn als het boardje zelf :|
En eenmaal wat je weet wat callbacks zijn, kun je er zoveel mee doen. Gewoon mee oppassen dat je niet aan het blokken bent in een interrupt handler.
Ik wou het vandaag gaan proberen, de website is weer in de lucht ;)
https://developerhelp.mic.../peripherals/timers/t2cb/
.

[ Voor 3% gewijzigd door kitao op 15-06-2025 08:46 ]


Acties:
  • 0 Henk 'm!

  • Ruitenwisser
  • Registratie: April 2025
  • Laatst online: 05-07 19:48
@kitao hier werkt die laatste link gewoon hoor.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
@Ruitenwisser
Ja, dank je, ben er momenteel mee bezig en wederom kom ik erg veel verschillen tegen met mijn IC P16F13145 en de in het voorbeeld gebruikte IC PIC16F1619 dat in een groter board geklikt zit.
https://www.microchip.com/en-us/development-tool/DM164137
De 1619 heeft bijvoorbeeld een Timer4 die er bij mij niet op zit dus ik probeer het nu met TMR2, etc.
Mocht het weer vastlopen dan ga ik proberen de P16F1619 uit het voorbeeld op de simulator te draaien maar de simulator is beperkt, je ziet er geen Output mee of een Data Visualizer, zover ik weet, maar het zou dan wel de juiste registers moeten tonen, zoals die van een Timer4.

Simulator-optie
Afbeeldingslocatie: https://tweakers.net/i/tnpAYDl0II0q2esVlVGyBOKB5Z4=/800x/filters:strip_icc():strip_exif()/f/image/szKHpI6OUNoMnyMXew5JGfk7.jpg?f=fotoalbum_large
.

Acties:
  • 0 Henk 'm!

  • Ruitenwisser
  • Registratie: April 2025
  • Laatst online: 05-07 19:48
Voor die test programma’s kun je Timer1, 2 of 3 ook gebruiken, hoeft niet 1 op 1 te zijn. Ik zou daar nu niet op vastlopen met die simulator enzo. Je gaat pas specifieke timers kiezen als je er meerdere nodig hebt en dan kijk je in de data sheet welke er het beste past voor welk doel.

Acties:
  • +1 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Ruitenwisser schreef op zondag 15 juni 2025 @ 11:42:
Voor die test programma’s kun je Timer1, 2 of 3 ook gebruiken, hoeft niet 1 op 1 te zijn. Ik zou daar nu niet op vastlopen met die simulator enzo. Je gaat pas specifieke timers kiezen als je er meerdere nodig hebt en dan kijk je in de data sheet welke er het beste past voor welk doel.
Ja, tnx, heb ik gedaan, na bekijken van TMR4 in de datasheet van PIC16F1619 blijkt dat een 8-bit te zijn en dat is TMR2 in PIC16F13145 ook dus die heb ik ervoor gekozen.
Het voorbeeld dat hier staat beschreven https://developerhelp.mic.../peripherals/timers/t2cb/ is zo goed als mogelijk gereproduceerd en hoewel het compileert is de Output - een Led-blink - niet aanwezig. Vervolgens de simulator erop gezet met als device de 1619 maar er blijven grote verschillen met de tekst uit het voorbeeld.
Komt misschien hierdoor ?
Afbeeldingslocatie: https://tweakers.net/i/pLIdIveXzryh2oZacdhheoJIgY0=/800x/filters:strip_icc():strip_exif()/f/image/xRYKvLfAUdgdC9zKVxSeiJhB.jpg?f=fotoalbum_large

Daar staat v3, bij mij staat v5 :S

Gelukkig ging video2 op de F13 wel goed en die draait ook met een Callback
YouTube: MCC Melody Example Components: TIMER Toggle LED, Callbacks Implement...
De door Nilsen gebruikte MCC versie is v5.5, de video's zijn nog geen jaar geleden gepubliceerd.

Hierin staan links naar o.a. een C-code Callbacks video serie voor de geinteresseerde.
https://onlinedocs.microc...69-4B29-B8D4-C949D2CD7FC5
.
https://mu.microchip.com/c-programming-callbacks

Zelf zet ik het even in de koelkast, geen zin om dagen lang hetzelfde te eten, vooral deze zware kost niet :-(

Ps-1, toch nog even geprobeerd zonder video of tekst voorbeeld en eenmaal gewend is dit toch wel een makkelijkere manier om zo'n IC te configureren.
Toch iets om op te letten, na de stappen doorlopen te hebben compileerde het niet en kreeg storing op
#include <xc.h> , not found etc en op nog een paar van die includes. Hetgeen nergens op slaat aangezien die normaal gesproken in ieder project worden gebruikt en voorheen dus geen storing gaven.
Ik heb MPLab afgesloten en opnieuw geopend en de storingen waren weg :? met als resultaat een blinkend ledje van 1 seconde aan en 1 seconde uit, hier te zien op de Data Visualizer

Afbeeldingslocatie: https://tweakers.net/i/59awLNgLVmO2zQq0WXlAldQ8i4E=/800x/filters:strip_icc():strip_exif()/f/image/3iqcucpjsyD4uasZQ7Vp1ND0.jpg?f=fotoalbum_large

Wat ook helpt is om onder een define reeks met error-meldingen te gaan staan .....

#include <xc.h>
#include <stdint.h>
#include <stdbool.h>
#include "config_bits.h"
#include "../system/clock.h"
#include "../clb/clb1.h"
#include "../system/pins.h"
#include "../crc/crc.h"
#include "../nvm/nvm.h"
#include "../system/interrupt.h"


..... en dan een enter te geven.

PS-2, verzend- en importkosten van de gebruikte hardware kunnen uitgespaard worden via Digikey bij bestellingen boven de 50,- ex Btw.
.

[ Voor 25% gewijzigd door kitao op 16-06-2025 12:59 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Sinds kort heb ik als programmer een Pickit Basic

Afbeeldingslocatie: https://tweakers.net/i/UGD03LTDx9XYW-8ckyuVcUsWG_k=/x800/filters:strip_icc():strip_exif()/f/image/J7wkkpA08hVXac4UmQmSn0DQ.jpg?f=fotoalbum_large
https://www.microchip.com...based%20MCUs%20and%20MPUs.

Normaal gebruik ik de PicKit 3 voor breadboard projectjes met MPLab v6.20

Afbeeldingslocatie: https://tweakers.net/i/96xVO1h_4Skue4u-XCtb7A8NFUA=/x800/filters:strip_icc():strip_exif()/f/image/ZQN7ySnhDGVWgfKHthV9eb1K.jpg?f=fotoalbum_large

Het bleek echter dat de PKBasic aangesloten met v6.20 niet werkt, na lange tijd proberen las ik in de handleiding dat PKBasic op >= v6.25 moet draaien. Prima, dus ik installeer v6.25 en ik zie daar inderdaad de PKBasic als Tool verschijnen maar in mat grijs, dwz wel aanwezig maar niet actief. Ondertussen had ik door van alles te proberen MPLab v6.20 gedeinstalleerd waar tot dan de Pickit3 altijd prima op draaide. Probeem is echter dat de PK3 in v6.25 niet meer gesupport wordt, doet het daar dus niet :(
Oorzaak dat de PKBasic het niet deed is omdat de PIC16F877A niet in de Device Support list is opgenomen. Heel vreemd want de Atmega32 is dat wel.
https://packs.download.mi...iceDoc/Device_Support.pdf

Dus ik installeer v6.20 opnieuw om de PK3 weer te gaan gebruiken, maar helaas ..... storing op storing, geen beweging in te krijgen.

Afbeeldingslocatie: https://tweakers.net/i/Yet5IV5739J6zk6uRxR9uxGld8U=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/CBaZaLdAvB4lppfTDtS3x8X7.jpg?f=user_largeAfbeeldingslocatie: https://tweakers.net/i/MPAucL73F9cWjHtz2O04-ZEtU5c=/800x/filters:strip_icc():strip_exif()/f/image/WU1zsaM64PNkM1Io3wSOHrtf.jpg?f=fotoalbum_largeAfbeeldingslocatie: https://tweakers.net/i/rwo0P4uZ3hFcKMLjhihE68dZdeQ=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/oYQj8h2SpqRVU8DwNCQMoKE8.jpg?f=user_large

Vervolgens GCStudio, voorheen Great Cow Basic, geinstalleerd maar mocht ook niet baten :

Afbeeldingslocatie: https://tweakers.net/i/XXZx6_4WxRJQu39Tyz6RbbiM9dI=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/thFQ9IgbgQQtGokZbeRBHIvx.jpg?f=user_largeAfbeeldingslocatie: https://tweakers.net/i/oCZ6lJyQC60V8Kep89ZGB_N4Ybk=/800x/filters:strip_icc():strip_exif()/f/image/qRciFndT7LKkufkigC35kVH2.jpg?f=fotoalbum_large

Daarna kwam ik deze video tegen dat een MicroChip antieke programmeer software aanstipt.
YouTube: Pick Kit 3 Clone: Troubleshooting, not working, needs latest bootloa...

Deze blijkt standaard in GCStudio aanwezig te zijn, alhoewel dat niet in de video wordt genoemd maar zelf tegen kwam en dan en alleen dan doet de PK3 het wel. Pad: C:\GCstudio\PicKit3GUI\PICkit3.exe

Afbeeldingslocatie: https://tweakers.net/i/QP6CF1FbBHu8nNG7_MP6Fsebs1Y=/800x/filters:strip_icc():strip_exif()/f/image/YwTFZH2jTjUWGw4fIeqikmJW.jpg?f=fotoalbum_large

Samengevat, PKBasic blijkt voor mijn IC's deels ongeschikt en met alle (zelfverwijtbare) problemen heb ik meteen PK3 gesloopt dat alleen nog maar functioneel is met een flinke omweg.
Ben wel blij dat het werkt maar heeft veel tijd gekost om iets wat prima werkte in 'gedegradeerde' vorm weer aan de praat te krijgen :|
Positieve kant is nu dat ik meer gebruik zal gaan maken van GCStudio :)

-----------------------------------------------------------------------------------

Ps, in MPLab IDE v5.45, via MPLab IPE v5.45, is de PK3 inmiddels weer operationeel, maar niet in v6.20

Afbeeldingslocatie: https://tweakers.net/i/Jd3Uu78vRbd45n6jXNne7PezMJ8=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/pOJoCBGeCftrA6Uo59aoXDm1.jpg?f=user_large

Volgens deze video
YouTube: Connect to your PICkit3 clone

Hopelijk helpt het om niet in dezelfde valkuil te vallen van Microchip's niet-aansluitbare software en apparaatjes :-(

Ps2, dit is de PK3 bootloader operating system : PK3OSV020005.hex en kan ook via internet gevonden worden.
.

[ Voor 11% gewijzigd door kitao op 28-06-2025 15:33 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Misschien dat iemand iets over het volgende weet te vertellen ? Tnx :)
De projectjes die ik volg zijn al enige jaren oud maar ook geen tientallen jaren geleden. Dit is er 1 van:
https://embetronicx.com/t.../pic16f877a-adc-tutorial/

Ik gebruik MPLab IDE v5.45 met XC8 compiler en PicKit3 als programmer.
Nu is gebleken dat builden en programmeren alleen mogelijk is indien de juiste combinatie van compiler-versie en pack-versie ingesteld wordt. Vergelijk deze twee instellingen, bovenste is prima, onderste valt gewoon niet te builden. De verschillen zijn met blauwe streepjes aangegeven.

Afbeeldingslocatie: https://tweakers.net/i/EGT_zpZPznnHTosyGCoZAFskdcE=/800x/filters:strip_icc():strip_exif()/f/image/EKdQZhAleTZG4WbFFQw5UJnq.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/nJltfg5evPK13bT78HHFJOHoq_Q=/800x/filters:strip_icc():strip_exif()/f/image/yXDseJ2UyzkzrMKoyWhw4Et5.jpg?f=fotoalbum_large

Als er maar twee keuzes waren dan valt het nog wel mee maar er zijn zeer veel XC8 compiler versies en wie weet hoeveel Pic-Packs.
Bij elkaar heb ik al 3 compiler-versies en 3 pack-versies erop staan met in totaal dus 9 mogelijke combinaties en het lijkt wel een casino royaal om de juiste kaart te krijgen :/

Afbeeldingslocatie: https://tweakers.net/i/tG5k_ywDO14CFBN-frGqxwFFQJ0=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/ZySyoLziqFUhaimK2q1quuab.jpg?f=user_large

Is er misschien een methode om gefundeerd de juiste combinatie te kunnen verkrijgen of blijft het gokken ? :?

Ps, de juiste term voor DFP is Device Family Pack waarover hier meer, met een video presentatie :
https://developerhelp.mic.../packs/dfps-introduction/
en
https://developerhelp.mic...cts/packs/work-with-dfps/
Schakel Ad blocker uit om 'broken images' weer compleet te maken.

Probleem is dus dat bepaalde header-files alleen werken met de juiste DFP-versie en juiste compiler-versie.
Wordt hier ook in aangegeven in MPLab IDE met 'Removed legacy header files' :

Afbeeldingslocatie: https://tweakers.net/i/k9XtUWaZSibAwQc_XexCGRJpwPg=/800x/filters:strip_icc():strip_exif()/f/image/OuUKKXbA1haURHO8bZgAZbnj.jpg?f=fotoalbum_large

<pic.h> is overigens wel aanwezig maar met het 'verkeerde' DFP-pack zijn er headers binnen die header die het niet doen :|

Afbeeldingslocatie: https://tweakers.net/i/f-GFVbbkSBlKFBbSdl8F0rwfsbQ=/800x/filters:strip_icc():strip_exif()/f/image/6FEC5qx98C8QD4bJMl9RJeDu.jpg?f=fotoalbum_large
.

[ Voor 28% gewijzigd door kitao op 30-06-2025 07:08 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Weet iemand of de 5 Volt 40 Ampere een spelfout is ? :-(

Afbeeldingslocatie: https://tweakers.net/i/vDPFTenAlu6ab_JFFLuBYZXDips=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/YDAqWa7WazqcZLcuSApc1xfk.jpg?f=user_large

die wordt gebruikt in dit project :
Creating an Arcade: Animations and Games - Showcases of the CLB Using the PIC16F13145 Microcontroller with MCC Melody
https://github.com/microc...-mcc/blob/1.0.0/README.md

Ik heb een PS1503SB DC power supply en dat is formaat crackerdoos en die is toch maar 0-15V / 3A.

Het board en uC zijn inmiddels via Digikey besteld maar om met 40A te gaan hobbyen, indien het geen spelfout is, vind ik iets teveel eigenlijk :/
Voor wie vaker deze zware WS2812 Led-linten heeft toegepast is dit wellicht een leuk project om eens te bekijken :)

Afbeeldingslocatie: https://tweakers.net/i/tSnBGob5t44j72Ca8mXh40aSxZU=/800x/filters:strip_exif()/f/image/R81STMp64JBcjAQGqcKTDJo9.png?f=fotoalbum_large

Curiosity Nano Explorer board.
.

[ Voor 14% gewijzigd door kitao op 04-07-2025 21:21 ]


Acties:
  • 0 Henk 'm!

  • Samoht93
  • Registratie: Januari 2014
  • Laatst online: 21:15
Bij mijn weten 20mA per LED dus 60mA voor RGB.
Dus 0.06 * 8 *32 = 15.4A aan LEDs.

Acties:
  • 0 Henk 'm!

  • memphis
  • Registratie: Oktober 2000
  • Laatst online: 23:35

memphis

48k was toen meer dan genoeg.

En dat is alleen wanneer je alle kleuren tegelijk laat oplichten. Als je dat niet doet zal de stroom per strip lager liggen en zal die 40A een veilige waarde zijn als je alle 6 de strips in 1 project gebruikt zonder alles in wit op te laten lichten..

Er zijn mensen die mij een GOD vinden


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Het zijn 6 van die strippen matrixen tot een soort monitor display aan elkaar gekoppeld
https://github.com/microc...-mcc/blob/1.0.0/README.md

Ik heb een paar maanden geleden voor het eerst zo'n stripje getest, een enkele van 30 ledjes, enige andere ervaring die ik heb is een led kubus op een Simulide simulator. Maar bedankt, ik weet nu dat het geen spelfout is en dat er niet 4.0 A had moeten staan.
Speciale voedingen zijn er zelfs voor

Afbeeldingslocatie: https://tweakers.net/i/P4H8SwuccBFG404n98yqoKW_tgM=/800x/filters:strip_icc():strip_exif()/f/image/dzhqGUqF4aLv9XJMmgmG31aQ.jpg?f=fotoalbum_large
ebay

Tja, jammer, complexiteit en kosten lopen flink op zou ik dit willen proberen en gelukkig is dat Dev. board ook voor andere dingen te gebruiken.

Acties:
  • 0 Henk 'm!

  • Hagdos
  • Registratie: April 2022
  • Laatst online: 08-07 16:20
Samoht93 schreef op vrijdag 4 juli 2025 @ 15:49:
Bij mijn weten 20mA per LED dus 60mA voor RGB.
Dus 0.06 * 8 *32 = 15.4A aan LEDs.
20 mA is de max rating voor een standaard LED. Als je niet probeert een ruimte te verlichten, maar gewoon een kleurtje wil zien, heb je al genoeg aan 1-2 mA voor een moderne LED. De levensduur is dan ook nog een stuk beter.

Het lijkt me sterk dat een LED matrix ontworpen is op 20 mA per LED.

@kitao Je hebt een mooie labvoeding met stroombegrenzing. Gewoon proberen, als het meer trekt dan je voeding aan kan gaat er niets stuk.

40A lijkt me wel een typo. Aan de andere kant is 40A niet iets om bang voor te zijn, het is niet onveilig. Hooguit zonde om een dure labvoeding te kopen als je maar een paar Ampère nodig hebt.

Acties:
  • 0 Henk 'm!

  • Samoht93
  • Registratie: Januari 2014
  • Laatst online: 21:15
klopt ledjes hoef je bijlang na niet met 20mA aan te sturen.
Maar als ik zo kijk naar dat project waar naar gelinkt wordt dan staan ze vrij fel, en als je het nabouwt wil je niet tegen voedings issues lopen.

Acties:
  • 0 Henk 'm!

  • Hans1990
  • Registratie: Maart 2004
  • Niet online
Ik heb hier een LED strip met 144 LEDs (1 meter) op een 5V 5A voeding.
5A is niet toereikend als je alles aanzet (max is 8.64A).

Is het nodig? Nee absoluut niet. Ik kan de strips tot 55% waarden aansturen en dan blijf ik binnen de 5A.
Nu was in mijn design wel het geval dat 5A voeding erg heet werd op dat uitgangsvermogen, dus die 5A continu wordt niet eens behaald.

Max vermogen is ook erg fel. Aangezien het soort schemerverlichting is maakt het nog minder uit..

Het nadeel van dit terugschalen is natuurlijk wel dat je resolutie mist. Deze LEDs hebben 8-bit (0-255) Red Green Blue op de 0-20mA schaal. Als je vanwege stroomredenen maar 0-63 gaat uitsturen dan verlies je 2 bits resolutie.

Acties:
  • +1 Henk 'm!

  • Bas...
  • Registratie: December 2022
  • Laatst online: 19:14
Hagdos schreef op zaterdag 5 juli 2025 @ 08:21:
[...]
40A lijkt me wel een typo. Aan de andere kant is 40A niet iets om bang voor te zijn, het is niet onveilig. Hooguit zonde om een dure labvoeding te kopen als je maar een paar Ampère nodig hebt.
40A in combinatie met een beetje (overgangs)weerstand kan echt bloedheet worden. Als je pech hebt met brand tot gevolg. Niet onveilig alleen als je weet wat je doet zou ik zeggen.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Allen bedankt voor het meekijken, top ! :)

Aangaande het 'alle leds tegelijk aansturen' dat is eigenlijk niet zo van toepassing omdat er kant en klaar programma's in zitten, te vinden in de Git-main folder van de read-me, en waar ik dus weinig tot niets aan kan regelen.

https://github.com/microc...-mcc/blob/1.0.0/README.md

Wie eraan wil beginnen, en mogelijk ikzelf dus ook maar er zijn een aantal obstakels zoals de kosten en de moeilijksheidsgraad, moet rekening houden met het volgende :
Note: All five applications are available for programming only with the XC8 compiler in the PRO version
The MPLAB XC8 PRO Subscription License is charged on a monthly basis
https://www.microchip.com...lopment-tool/SW006021-SUB

Kan niet zo gauw vinden wat dat kost maar van deze wel :
Nano explorer board 80,-
PIC16F13145 CLB 10,-
SRam Click 15,-
Flash Click 10,-
Voeding 5V 40A gok ik op 85,-
6x WS2812 8x32 ca. 30,-

Totaal 230,- excl. Btw en excl. XC8 Pro abonnement :|

Maar hoeft allemaal niet in 1x natuurlijk, de CLB die ik al heb begin ik al wat vertrouwd mee te raken en het Dev Board is onderweg en een led-matrix kan ik eerst 1 uitproberen.

En ja, 5V x 40A is nog steeds 'maar' 200 Watt maar aangezien ik geen ervaring heb in het koppelen van een micro aan zulke relatief zware stromen, ook niet met een robotwagen ofzo, lijkt me dit geen project om zomaar even mee te beginnen. En het zijn geen monsterbedragen maar een extra voeding kopen en een abonnement afsluiten voor een enkel projectje is waarschijnlijk beter te besteden. Daarnaast staan onderaan deze pagina nog meerdere voorbeelden die wat minder omvangrijk zijn:
https://www.microchip.com/en-us/product/PIC16F13145
.

Acties:
  • +1 Henk 'm!

  • memphis
  • Registratie: Oktober 2000
  • Laatst online: 23:35

memphis

48k was toen meer dan genoeg.

Die voeding is nog steeds maar 5v, je zult er echt geen oplazer van krijgen. Bij een eventuele sluiting zal de voeding in een beveiliging schieten dus er is weinig "gevaarlijk" aan. Als ik ga racen met mijn electro F1 RC heb ik een 12v-20A voeding met erop aangesloten een dual poort lader dat op vol vermogen alleen al 160 watt uit de voeding trekt en nog een 60 watt voor mijn bandenwarmers. En dan zit er nog een radio en een ontlader op welke overigens de accu's met max 60A kan ontladen.
Allemaal geen probleem.

Er zijn mensen die mij een GOD vinden


Acties:
  • +1 Henk 'm!

  • Hans1990
  • Registratie: Maart 2004
  • Niet online
Je zal er idd geen opdonder van krijgen. Het grootste gevaar bij zulke hoge stromen is slechte contacten.

Bij 1 of 2A zal een slechte verbinding of iets dunne bedrading (bvb standaard breadboord draadjes e.d.) nog niet zo'n snel een probleem veroorzaken.

Maar bij 20A is elke milliohm opeens 0.4W aan verliezen waard. Zo'n goedkoop krokodilklem jumpertje kan dan zomaar paar Watt wegstoken. Oeps!

Zolang je robuuste connectors gebruikt die je zekers te weten goed vastklikt voordat je spul aanzet, dan kan er eigenlijk niet zoveel mis mee gaan.

Schrik wel van die prijzen trouwens. Ik word zo onderhand een kapotte langspeelplaat, maar een Arduino Uno of STM32 Nucleo ontwikkelbordje van 2 tientjes heeft geen gedonder met compiler licenses en rent cirkeltjes om zo'n PIC heen. Maar ik snap dat je die niet wilt gebruiken, tegelijkertijd vind ik het wel bizar geld dat Microchip (of 3rd parties) letterlijk honderd(en) euro's meer durft te vragen voor zulke chips..

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Het is niet zozeer dat ik een stroomschok vrees maar dat ik de sturende elektronica opblaas. Daarnaast leek het me leuk dit kakelverse project, sinds 5 maanden op Git, te delen en mogelijk goeie adviezen erover te krijgen die dus inderdaad verstrekt zijn :)

De 5V-40A voeding zie ik wel als een obstakel omdat mijn interesse-richting niet zozeer in Led-effecten zit en het dus een 1-dagsvlieg aankoop kan worden net als het XC8 Pro abonnement. Valt inderdaad wel op dat Microchip dit project neerzet dat zonder verdere aankopen bij hun eigenlijk niet uit te voeren is.
Voor de rest ga ik het maar opsplitsen, eerst dat grote Explorer Development Board uitvogelen met daarop geklikt de PIC16F1345 CLB en als dat loopt dan de SRAM erbij etc.

De WS2812 matrix zal wel ergens een Arduino voorbeeld van zijn om vooraf mee te oefenen maar dan met 2 geknoopt ipv 6.

Wat de prijzen betreft, het IC klikboard kost 10 euro incl. Btw en via Digikey besteld ligt het binnen een dag of vijf, gratis verzonden, vanuit de VS stevig verpakt en met garantie op de deurmat. O ja, en de bestellingen zijn inclusief invoerrechten.

Het Explorer dev. board is niet echt goedkoop, 96,- incl. Btw, maar ja, ik heb nog een ander PIC Curiosity board en eentje van AVR en die passen op datzelfde dev. board. Niet alle drie tegelijk maar wel makkelijk uitwisselbaar, beter als op een breadboard hoop ik. Ter info, alle Curiosity Nano boardjes passen erop, de pin-indeling is universeel over die serie neergezet.
Bijvoorbeeld boven deze witte lijn zijn ze allemaal hetzelfde zo heb ik begrepen.

Afbeeldingslocatie: https://tweakers.net/i/mLU11FMghzEcwj02wQQxZ1-BHPk=/800x/filters:strip_icc():strip_exif()/f/image/5JI4xNzCPibwJsfdBUUhFs2X.jpg?f=fotoalbum_large
https://ww1.microchip.com...Curiosity-Nano-Pinout.pdf

Overigens is de PIC16F13145 bij andere projecten wel gewoon te gebruiken zonder XC8 Pro abonnement, ik heb er zelf al enkele andere examples mee nagedaan met MPLab en XC8 freeware versies. Waarom bij dit project (bij uitzondering) ineens wel een Pro abo voor nodig is weet ik nog niet.

Afbeeldingslocatie: https://tweakers.net/i/ageRK0CAP0fNrYfWSIItrpnA5y8=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/ibWzeApGyh0p9fc7YuVQ2aOa.jpg?f=user_large
.

[ Voor 25% gewijzigd door kitao op 06-07-2025 13:05 ]


Acties:
  • 0 Henk 'm!

  • memphis
  • Registratie: Oktober 2000
  • Laatst online: 23:35

memphis

48k was toen meer dan genoeg.

Je kunt niets opblazen, ook al zou je voeding 100A zijn, de spanning blijft maar 5v, je project blijft naar de stroom trekken die het nodig heeft en als je iets verkeerds of omgepoold aansluit gaat het ook op bv een 2A voeding net zo makkelijk kapot.

Er zijn mensen die mij een GOD vinden


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
Ja, dat is wel zo maar het brengt sowieso een extra risico met zich mee dat je helemaal kan vermijden als het gewoon bij een 7-segment opstelling blijft, bijvoorbeeld. Aan de werking van het IC zal het weinig verschil maken en daar ligt eigenlijk mijn focus, de communicatie protocollen e.d. , peripherals, clocks, timers, etc.

Het is inmiddels wel duidelijk geworden dat mijn huidige voeding van 0-15V/3A het niet gaat redden met het matrix-display in getoonde opstelling hieronder en dat wou ik even navragen en of dat iemand misschien iets meer weet over de XC8 Pro compiler, de reden daarvan.

Afbeeldingslocatie: https://tweakers.net/i/ap9iyG0uq0pdAWnXs6uY5n5eRsc=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/GrLvILUlb5m2vPGpEoqdmhzE.jpg?f=user_large

https://github.com/microc...-mcc/blob/1.0.0/README.md
.

Acties:
  • +1 Henk 'm!

  • Hans1990
  • Registratie: Maart 2004
  • Niet online
Ik weet wel iets over de Microchip's compiler.. maar dat mag waarschijnlijk niet op dit forum })
En is trouwens al jaren geleden, ik weet niet of die 'workarounds' nog werken..

Betreffende voeding zou je ook nog kunnen denken aan DC/DC blokjes. Je kan dan nog wel je labvoeding gebruiken, maar dan bijvoorbeeld 24V 3A gebruiken. Als je dat terugbrengt naar 5V met DC/DC, kom je waarschijnlijk wel op 10A uit.

Bijvoorbeeld 2x: https://www.tinytronics.n...nverter-5a-3.3v-5v-9v-12v
of: https://www.tinytronics.n...5-5a-with-current-limiter

(de helft van je matrix per DC/DC voeden)

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
@Hans1990
Dank je, ik heb al diverse keren buck-converters hier besproken zien worden maar heb er nog geen enkele eerder gebruikt. Tijd om dat eens te proberen.

Ik heb bij de co-piloot navraag gedaan over waarom er ineens een XC8 Pro nodig is ipv de gebruikelijke XC8 Freeware bij dit soort Curiosity examples, zie afbeelding vanuit de Readme

Afbeeldingslocatie: https://tweakers.net/i/aDAAKQzZfKoyDh9v45W_tP3JGTk=/800x/filters:strip_icc():strip_exif()/f/image/cKioqoBD66Pl5OjsHFkAxxfW.jpg?f=fotoalbum_large
https://github.com/microc...b-mcc/blob/main/README.md

Ik heb ook meteen de kosten van het XC8 Pro-abonnementje opgevraagd:
XC8 PRO License Cost
Price: $29.95 USD per month (as listed by Microchip and reported by eeNews Europe) :|

De WS2812 - 32x8 Led-matrix wordt hier met code getoond in een Arduino opstelling die ik eerst zou kunnen proberen.
YouTube: Coding with Color: Arduino's Control over 32x8 WS2812 LED Matrix PART1

https://www.hackster.io/m...with-arduino-part1-3c165f

Inmiddels van deze PIC18F57Q43 CURIOSITY NANO de headers op de staggered holes gesoldeerd.
https://www.microchip.com/en-us/development-tool/DM164150
Het breadboardje heeft een sticker onderzijde die valt dus op het hout te plakken. Bij een ander Curiosity boardje bleek het solderen niet nodig te zijn, zit vanwege de zigzag gatenrij stevig genoeg vast maar deze moet in het grotere Dev. Board geplaatst worden en af en toe omgewisseld worden voor een ander boardje. Dan lijkt het me wel beter dat de headers goed vast gesoldeerd zitten.

Afbeeldingslocatie: https://tweakers.net/i/tDBLbrekdiY-_S1s2B3c1FNVpos=/x800/filters:strip_icc():strip_exif()/f/image/pxKeyYdo5Ul66HiMYGrEvvgG.jpg?f=fotoalbum_large
350C ingesteld, met een beetje mazzel werkt het nog B)

Van getoonde Q43 is een bijbehorende playlist
YouTube: MCC Melody Example Components: TIMER Toggle LED, Polled Implementation
Geen externe programmer nodig, enkel een Standard-A to Micro-B or Micro-AB usb-kabeltje en de MPLab IDE freeware.
.

[ Voor 35% gewijzigd door kitao op 07-07-2025 11:49 . Reden: link toegevoegd ]


Acties:
  • +1 Henk 'm!

  • Bas...
  • Registratie: December 2022
  • Laatst online: 19:14
Bij XC8 voor AVR is het verschil tussen free en pro de beschikbare opties voor optimalisatie (-O1 t/m 3, -Os). Dat zal bij XC8 voor Pic ook vast zo zijn, dus ik ga mee met copilot. Ze hebben dat project zo opgezet dat de code alleen past en/of soepel loopt op het gekozen device als je gebruik kunt maken van (maximale) optimalisatie bij het compilen. Tja, ze willen centjes verdienen. Als hobbyist zou ik altijd microcontrollers willen gebruiken waarvoor een vrije (gcc) toolchain beschikbaar is (o.a. AVR, STM32, ESP32, RP2040).

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
@Bas...
Dank je wel voor de toelichting, ergens volgende week ga ik het programma van dit project door de compiler XC8 3.0 Free versie proberen te laten builden.
https://github.com/microc...b-ws2812-matrix-mplab-mcc

Normaal gesproken, wat ik tot nu toe bij de 8-bit ondervonden heb, hebben de Curiosity Nano boardjes, en dat zijn er aardig wat, ca. 145 stuks hieronder, geen XC8 Pro nodig en zijn de meeste examples met freeware uit te voeren. Dat er nu een Pro nodig is lijkt op een hoge uitzondering
En misschien valt er per maand te abonneren? Of een free trial weekje ?
145 results | Search Results for "curiosity nano"
https://www.microchip.com...&fq=start%3D0%26rows%3D10

Ik ben niet erg bekend met het compile-proces al had ik een paar posts terug toch wel wat kuren gekregen met het kiezen van de family device packs, waarover je van de compiler geen enkele leek-leesbare melding krijgt toen het fout ging. Dus toen werd het gewoon gokken van wat wel pakt en wat niet.
kitao in "De EL-kroeg - Deel 4"

In jouw genoemde IC's ken ik alleen de 8-bit AVR en aangezien ik ook met CPLD bezig ben ga ik geen andere smaken meer proberen voorlopig. Als vrije toolchain heb ik GCStudio die ook voor 8-bit Pics te gebruiken is.
Een eerdere poging daarmee liep vast op dit :
https://gcbasic.sourcefor...tter/index.php/PICKitPlus
Dat is geen open source maar commercieel.
Al met al ben ik een beetje klaar met oriënteren en hou ik het bij de MPLab Freeware.
Ik begrijp je tip wel natuurlijk maar het is mede afhankelijk van je toepassingen, bijvoorbeeld ik kijk graag naar wat er in de uC intern gebeurt en hoe het opgebouwd is en een ander gebruikt het voor bijvoorbeeld domotica en zal het een zorg zijn wat er in de uC gaande is. Vandaar dat er zoveel vernevelende libraries zijn en codeer vriendelijke talen, zoals in een Arduino Ide, maar voor debuggen ben ik nog geen betere IDE tegengekomen als MPLab.
.

[ Voor 29% gewijzigd door kitao op 07-07-2025 12:15 ]


Acties:
  • 0 Henk 'm!

  • tvnieuw
  • Registratie: Mei 2021
  • Laatst online: 20:18
Ik zoek de Firmware van een Graupner Ultra Duo Plus 50.
Dat is er een met twee uitgangen en een ingang voor 230V AC of 12~14 V DC.

Ik ben zo slim 8)7 geweest om zonder het maken van een kopie van de oude Firmware V 1.03b een nieuwere versie te branden met een Pickit 3.

Wie heeft een kopie V 1.03b voor mij?

Acties:
  • 0 Henk 'm!

  • base_
  • Registratie: April 2003
  • Laatst online: 00:03
Bas... schreef op maandag 7 juli 2025 @ 09:55:
Als hobbyist zou ik altijd microcontrollers willen gebruiken waarvoor een vrije (gcc) toolchain beschikbaar is (o.a. AVR, STM32, ESP32, RP2040).
Heeft de arduino geen vrije toolchain? Nu vind ik zelf de arduino ide niet heel fijn moet ik zeggen.
Ik wil binnenkort eens aan de slag met clion en platformio (ik ben zelf jetbrains tools gewend) en ben benieuwd hoe goed dit integreert en met welke hardware.

Acties:
  • +1 Henk 'm!

  • memphis
  • Registratie: Oktober 2000
  • Laatst online: 23:35

memphis

48k was toen meer dan genoeg.

tvnieuw schreef op maandag 7 juli 2025 @ 14:53:
Ik zoek de Firmware van een Graupner Ultra Duo Plus 50.
Dat is er een met twee uitgangen en een ingang voor 230V AC of 12~14 V DC.

Ik ben zo slim 8)7 geweest om zonder het maken van een kopie van de oude Firmware V 1.03b een nieuwere versie te branden met een Pickit 3.

Wie heeft een kopie V 1.03b voor mij?
https://www.modelbouwforu...-ultra-duo-plus-50.77364/
Een post van Fstrating geeft aan dat hij wat heeft en deze user is nog steeds actief op dit forum. Je zou hem kunnen benaderen.

Er zijn mensen die mij een GOD vinden


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 04:04
base_ schreef op maandag 7 juli 2025 @ 15:07:

Heeft de arduino geen vrije toolchain? Nu vind ik zelf de arduino ide niet heel fijn moet ik zeggen.
Ik wil binnenkort eens aan de slag met clion en platformio (ik ben zelf jetbrains tools gewend) en ben benieuwd hoe goed dit integreert en met welke hardware.
Ik moest even kijken wat nou eigenlijk met een toolchain bedoeld wordt en volgens Wikipedia:
A toolchain is a set of software development tools used to build and otherwise develop software.
En met vrije zal wel freeware bedoeld worden.

Arduino zal waarschijnlijk onder de noemer AVR vallen vanwege o.a. de Atmega 328P op de Uno waarmee het naam kreeg al zag ik laatst een Nano met dit :
The Arduino Nano 33 BLE is an evolution of the traditional Arduino Nano, but featuring a lot more powerful processor, the nRF52840 from Nordic Semiconductors, a 32-bit ARM® Cortex®-M4 CPU running at 64 MHz.
https://store.arduino.cc/products/arduino-nano-33-ble

Clion, Platformio en JB Tools heb ik niet eerder van gehoord.
De Arduino IDE schijnt tegenwoordig wel debug mogelijkheden te hebben met sommige board-versies maar heb die nog niet geprobeerd. Bijvoorbeeld hieronder is er geen support voor met mijn micro.

Afbeeldingslocatie: https://tweakers.net/i/hhVKLS7yXoDyscqa2KwBtJxmUnA=/800x/filters:strip_icc():strip_exif()/f/image/MwbFkbZaJCEetEV5OiFlbGfI.jpg?f=fotoalbum_large

En dit is debuggen, in Atmel Studio maar MPLab verschilt er weinig van.

Afbeeldingslocatie: https://tweakers.net/i/lMB0iLsbUUIgAuoQEFdgmw0xWlc=/800x/filters:strip_icc():strip_exif()/f/image/IO4wENn1rQGeEY38ZAm4l9CP.jpg?f=fotoalbum_large
.
En is dit wel een een software development tool, het maakt namelijk niet uit of je er Asm of C of Arduino sketch erin stopt om toch zulke registers en flags uit te kunnen lezen ? Zelf codeer ik niks maar ik vermoed dat een programmeur niet op MPLab z'n programma vorm geeft maar hooguit deze erop controleert.
.

[ Voor 17% gewijzigd door kitao op 07-07-2025 16:00 ]


Acties:
  • +1 Henk 'm!

  • Hans1990
  • Registratie: Maart 2004
  • Niet online
base_ schreef op maandag 7 juli 2025 @ 15:07:
[...]


Heeft de arduino geen vrije toolchain? Nu vind ik zelf de arduino ide niet heel fijn moet ik zeggen.
Ik wil binnenkort eens aan de slag met clion en platformio (ik ben zelf jetbrains tools gewend) en ben benieuwd hoe goed dit integreert en met welke hardware.
Ja. Die gebruikt onderhuids altijd GCC varianten. Die zijn gratis met alle optimizations. Ik meen dat Arduino by default ook al -Os gebruikt.

PlatformIO kan je gebruiken met de Arduino schil er omheen (het is immers een iets opgepoetste variant van C++), of als Makefile project, en met STM32 ook met CubeMX projecten meen ik.

Met PlatformIO viel wel aardig te werken. Ik heb er niet teveel tijd in gestoken, want uiteindelijk blijft PlatformIO ook maar een community project die door een handjevol personen wordt gerund. Vziw waren die ook nogal strict wie er code mocht pushen, dus de verrijking is vrij beperkt. En de releases van afgelopen jaar zijn zeer beperkt: https://github.com/platformio/platformio-core/releases

Ik kies er liever voor om daar wat minder afhankelijk van te zijn. Hoewel er vandaag weinig mis mee is en ik het wel gebruik om even snel een programmaatje op een STM32 Nucleo te testen (vooral toen ik laatst even op mijn Mac meerdere malen moest zwaardgevechten met CLion & GCC..).
Ik meen dat je er gewoon mee kon debuggen e.d. Laatst heel even op RP2040 geprobeerd, en die was toen ook bewust van de twee cores die aanwezig waren.

CLion is een andere draak leeuw, maar m.i. ook heel erg krachtig. Ik geloof dat er een gratis community versie is tegenwoordig, en ze hebben wel e.e.a aan embedded support toegevoegd. De code editor is feature rich, je hebt AI toeters en bellen (die ik nu met name als autocomplete gebruik, moet er nog eens verder mee kijken), en je kan er zo een CMake project inhangen om vervolgens met OpenOCD te flashen/debuggen (OpenOCD zet een GDB server op waar CLion mee kan verbinden)

Vervolgens is er voor embedded wel e.e.a beschikbaar zoals een SVD viewer voor de registers van de MCU, register view van de MCU core, en natuurlijk de gebruikelijke C++ tools. Je hoort het al, ik ben groot fan :) Je hebt er alleen wel krachtig en/of modern systeem voor nodig, maar het draait in ieder geval vele malen beter dan elk andere Java IDE.

Ik mis helaas nog wel een paar dingen.. je moet toch wel beetje weten hoe het hele build systeem met CMake hoort te werken. Hoewel ik meen voor STM32 er redelijk makkelijk van STM32CubeMX projecten te importeren valt.
En tijdens debuggen mis ik nog een simpele knop (of extra view die tegelijk open kan) dat je in de assembly kan single steppen. Dat is iets wat een IDE als IAR of Keil juist heel goed doen, want als embedded ontwikkelaar is weten wat er op assembly niveau gebeurd soms best belangrijk.

Ik heb in mijn eigen CMake file dat elke build versie extra artifacts maakt, waaronder assembly listings. Als de code dan ergens in crashed single step ik op C niveau en zoek ik de program counter wel op in dat bestand om te zien wat er voor gebeurd kan zijn.

Maar ik develop tegenwoordig zo min mogelijk op echte hardware. Trage uploads, trage debuggers die soms vastlopen (gebeurd ook met JLink nog wel eens :'( ), en beperkingen met breakpoints..
Alle hogere lagen van firmware draai ik met unit tests op mijn desktop. En soms de overgang naar hardware in een (eigen geschreven) RISC-V emulator met wat gesimuleerde peripherals. Daar heb ik laatst een RTOS in elkaar geknutseld... best grappig als je code naar een STM32 upload en eigenlijk al weet dat 95% klaar is.

Acties:
  • +1 Henk 'm!

  • base_
  • Registratie: April 2003
  • Laatst online: 00:03
@Hans1990 Ik ben vooral PHPstorm (+dockers met magento op Ubuntu), ItelliJ en nog wat andere tools van Jetbrains gewend, ik heb een hekel aan visual studio, en het all products pack van jetbrains is na 2 jaar aantrekkelijk geprijsd :)

Werken met arduino's, msp430's, rpi's, esp32's etc is voor mij op dit moment vooral hobbymatig, de arduino ide vind ik veel te beperkt, dus ik denk dat CLion voor mij veel beter werkt.

PlatformIO lijkt me meer een library met de juiste headers/mapping voor verschillende hardware platformen, voor mij meer dan voldoende om voorlopig vooruit te kunnen.
Pagina: 1 ... 111 112 Laatste