Programmeren Microcontroller (Algemeen)

door leemhuis01 @, Coevorden, 08-12-2022, 19:12 (497 dagen geleden)

Beste forumgebruikers,

Voor mijn studie heb ik een project waar wij een microcontroller moeten gebruiken.
Dat is helaas niet de kant van het vak wat ik erg leuk vind.
Ik ben er ook niet zo heel goed in.
Nou ben ik ook een beetje door de andere leden voor het blok gegooid.
Want aan zij hebben mij de taak in de schoenen geschoven,
terwijl ik daar het niet echt mee eens ben:-( .
Maar dit bied wel weer kansen om mijn kennis weer wat te verbreden.

Nu mogen wij dus geen compleet experimenteerbordje gebruiken.
Dus alleen de losse chip. (bijv. deze)
Nu snap ik er dus nog niet echt iets van hoe je zoiets nou moet coderen.

Is er iemand die mij wat tips/tricks kan geven?
Of weet iemand een goede informatiebron?

Programmeren Microcontroller

door HM @, Hilversum, 08-12-2022, 19:53 (497 dagen geleden) @ leemhuis01

De grootste informatiebron is uiteraard Internet.....

Een MicroChip processor is wel redelijk simpel te programmeren als je er mee bent opgegroeid.
Op dit moment is de MPLAB IDE X de programmeeromgeving.
Deze kun je gratis downloaden bij MicroChip ( is ff zoeken onder development tools ).

Daarna moet je een compiler installeren. Jouw chip uit de 18F serie is een 8 bit processor, je hebt dan XC8 compiler nodig. Ook deze kun je gratis downloaden bij MicroChip.

Daarna is het erg handig om MCC te installeren. Daarmee kun je heel snel allerlei I/O configureren en daarna heb je al een programma/project waarmee je verder kunt gaan werken.

Dan komt het, je hebt voor de 18F serie een programmer nodig. Dat zal de PIC Kit 4 of zo zijn.
Waar deze vroeger een paar tientjes koste is hij nu ruim 81,- euro ex btw bij Farnell.
Er zijn meer programmers te vinden voor een stuk minder maar dan is het meer uitzoek werk hoe je hem moet aansluiten.

Heb je eenmaal MPLab aan de gang dan kun je in C je programma schrijven en met 1 actie in de processor zetten.

Het is wel even een leercurve maar eenmaal onder de knie kun je daarna met vrijwel alle processoren/micro controllers overweg.


Om het wat eenvoudiger te maken kun je ook een Raspberry Pi Pico kopen. Dan kun je daar alvast met de software mee aan de gang ( kan gewoon onder de Arduino omgeving voor de meeste taken ).
De chip is ook los verkrijgbaar zodat je die later op een printje kunt zetten.
De cpu heeft USB aan boord en is 32 bit, volop verkrijgbaar wat momenteel een wonder is.
Hij draait op 3V3, daar moet je wel rekening mee houden.

Programmeren Microcontroller

door leemhuis01 @, Coevorden, 08-12-2022, 20:02 (497 dagen geleden) @ HM

Bedankt voor de vele informatie.
Ik zal morgen eens even het een en ander van de programma's bekijken.

Het punt is alleen dat wij voor het project 50 euro budget hebben.
Dus een programmer van 81 euro zit er niet in :-D :-D

Ik hoef op dit moment nog niet te coderen.
Maar ik moet een onderzoek doen en keuze maken.
Over welke controller geschikt is voor ons,
en welke we uiteindelijk gaan gebruiken.

En om dat te bepalen is het wel makkelijk om het een en ander te weten.
Bijvoorbeeld over er verschil in coderen zit enz.

Programmeren Microcontroller

door Herman Vandierendonck @, 08-12-2022, 21:34 (497 dagen geleden) @ leemhuis01

Nog even ter aanvulling,

de naam Arduino viel al, ik kan alleen niet uit je informatie opmaken of een ATMEGA 328 (de 'Arduino' microprocessor) toegelaten is in jou onderwijs opdracht.
De microprocessor is ook los te koop, vb
https://www.otronic.nl/a-65569135/ics/microcontroller-atmega328p-pu/?gclid=EAIaIQobChMIz734wevq-w...

Je werkt dan niet met een kant en klaar processor bordje, wat zoals je schrijft niet toegelaten is in de opdracht.
Het IC kun je zelfs compleet met bootloader kopen :
https://elektronicavoorjou.nl/product/atmega328-ic-met-arduino-bootloader-uno/?gclid=EAIaIQobChMI...

Deze is met het nodige randcircuit, programmeerbaar in de IDE. Ook hierin is internet je beste vriend.

Je blijft dan ruimschoots binnen je budget.
Alleen dien je na te gaan of dit binnen de randvoorwaarden van je opdracht valt.

Groeten Herman

Programmeren Microcontroller

door Maarten Bakker ⌂ @, Haarlem/Delft, 08-12-2022, 23:53 (497 dagen geleden) @ leemhuis01
Gewijzigd door Maarten Bakker, 08-12-2022, 23:59

Ik weet dat het vaak coderen wordt genoemd (een slechte terugvertaling van het Engelse coding, dat eigenlijk ook niet helemaal de lading dekt), maar probeer jezelf liever aan te wennen om het 'programmeren' te noemen. Je hebt er verder weinig aan, maar het voorkomt op zijn minst spraakverwarring als je een keer echt iets moet coderen (een boodschap versleutelen, een artikelnummer genereren volgens een stramien -> codenummer, een MP3 maken van een CD, een stream voor je DAB+ zender, en zo nog wel wat betekenissen).

En nee daar heb je eigenlijk niets aan verder dus ik probeer de rest wel on-topic te houden....

De eis om een losse chip te gebruiken en geen bordje, zegt me eigenlijk niet zoveel.

Als je een Arduino bootloader in een Atmega 328 chip stopt, voldoe je aan die eis maar als die Atmega toevallig op een kant en klaar printplaatje zit dan mag het niet.

Wel apart dat je die taak in de schoenen geschoven krijgt zonder enige voorbereiding. Van wat voor lesmateriaal ga je uit? Ik lees in elk geval iets over een PIC, maar ik neem aan dat er ook wel verwijzingen naar boeken of sites bij horen. De ontwikkelomgeving is geloof ik gratis, en de hardware om je programma in de PIC te laden is vrij simpel. Ik denk dat dat wel binnen budget lukt.

Programmeren Microcontroller

door leemhuis01 @, Coevorden, 09-12-2022, 09:13 (497 dagen geleden) @ Maarten Bakker

Die taak wordt mij door de medestudenten in de schoenen geschoven helaas.

Het enige wat wij op dit gebied aan lesmateriaal hebben gehad.
Is basis programmeren in c++.
En we hebben leren programmeren op een Nucleo.
Nucleo

Dus wel wat les in gehad.
Maar zoals ik al aangaf, niet mijn beste kant van het vakgebied.
Ik heb meer met de elektronica en schema's.
Maar uiteraard wel heel leerzaam om hier eens wat over uit te zoeken

Ik heb parrallel met dit project een eigen project om mijn vrije studie uren in te vullen.
Daar ga ik een buizenversterker ontwerpen en bouwen.
Dat spreekt mij veel meer aan:-D :-D .

Programmeren Microcontroller

door Maarten Bakker ⌂ @, Haarlem/Delft, 10-12-2022, 15:20 (495 dagen geleden) @ leemhuis01
Gewijzigd door Maarten Bakker, 10-12-2022, 15:25

Buizenversterker, altijd leuk!

Als je ook maar een klein beetje ervaring hebt in C++ dan is de stap naar de Arduino wel heel snel gemaakt. Zo'n ding is ook zonder kant en klaar printplaatje te maken dus als dat echt de eis is en ze er niet over vallen dat je de bootloader en libraries van de Arduino gebruikt op je losse processor, dan denk ik dat dat nog wel eens de kortste weg zou kunnen zijn.

En anders kun je zowel voor de PIC als voor de ATMega/ATTiny wel gratis ontwikkelomgevingen en goedkope programmers vinden. Vaak zit er bij zo'n ontwikkelomgeving ook wel wat van uitleg om makkelijk te beginnen. Anders online, bijvoorbeeld zoeken op processornaam en "howto".

Programmeren Microcontroller

door Roland L ⌂ @, Born, 09-12-2022, 00:04 (497 dagen geleden) @ leemhuis01

Als een Pi Pico niet onder compleet bord valt dan zou ik die aanbevelen. Eenvoudig te programmeren met MicroPython en geen aparte hardware nodig om te programmeren. Met een halve dag spelen maak je al leuke dingen, vooral omdat deze controller veel on board features kent zoals seriële interfaces, i2c, analog digitaal conversie, temperatuur sensor. Ook te programmeren in C met allemaal (gratis) open source tools.

Even nog een opmerking betreffende de voeding van de Pico, deze kan ook 5V zijn omdat er een spanningsregelaar is aangebracht op het printje. De ingangen (GPIO) zijn echter, zoals eerder al indirect is aangegeven, wel gelimiteerd tot 3,3V.

Mocht je toch gaan voor microchip kijk dan eens bij voti.nl. Daar koop je binnen je budget een bruikbare programmer en je vindt er andere informatie en bijpassende componenten. Daar heb ik in het verleden ook gebruik van gemaakt.

Succes met je keuze en opdracht!

Programmeren Microcontroller

door HM @, Hilversum, 09-12-2022, 07:45 (497 dagen geleden) @ Roland L

De Pi Pico op het board kan inderdaad met 5V gevoed worden, de RP2040 ( processor ) zelf werkt op 3,3V, alle signalen zijn dan 3,3V.
Iets waar je rekening mee moet houden als je andere items aan moet sluiten.

Verder gebruikt hij vrij veel stroom en is moeilijk in slaap te krijgen ( gaat niet via Arduino IDE ) waarbij dan nog relatief veel stroom wordt gebruikt om maar niet te spreken van de 5 ( vijf ) mS die hij nodig heeft om weer wakker te worden......

Maar je krijgt wel enorm veel rekenkracht voor heel weinig geld.

De toolchain installeren om hem via de SDK te programmeren is op een windows PC ff een klusje.

Programmeren Microcontroller

door leemhuis01 @, Coevorden, 09-12-2022, 09:14 (497 dagen geleden) @ Roland L

Die PI pico valt helaas niet binnen onze mogelijkheden.
Het is echt de bedoeling om een losse chip op een PCB te solderen.
Maar bedankt voor het meedenken

Programmeren Microcontroller

door loek @, Exloo (Drenthe), 09-12-2022, 13:52 (496 dagen geleden) @ leemhuis01

Hallo Leemhuis,

Je geeft niet aan in welke taal er geprogrammeerd moet worden. In de reacties van andere forum lezers gaat men er vanuit dat dit de taal C is.

Zelf programmeer ik al jaren in de taal BASCOM van MCS. Dit is een Nederlandse firma die over de hele wereld veel gebruikers heeft.

Er is een gratis basis programma waarmee bijna alles mogelijk is wat je ook kan met het betaalde programma. Verder kan je veel type programmers aansturen met dit programma. Er zijn er ook een paar die je zelf met twee TTL IC's kan maken en die de processor programmeren via de zogenaamde SPI methode.

BASCOM wekt uitsluitend op ATMEL processoren en daar zijn ook zeer eenvoudige type bij voor nog geen 2 Euro. Je hebt veel uitvoeringen in DIL uitvoering.
Je kan in BASCOM ook hele stukken opnemen die weer in ASM geprogrammeerd zijn.

Kortom om te starten ben je zeer voordelig uit. Het enige is dat je programmeert in BASCOM en ik weet nu dus niet wat de bedoeling is en of dit mag.

Met vriendelijke groet,

Loek

Programmeren Microcontroller

door leemhuis01 @, Coevorden, 09-12-2022, 13:58 (496 dagen geleden) @ loek

We mogen iedere taal en controller gebruiken.
zolang het maar een losse chip is.
die we zelf op een PCb maken

Programmeren Microcontroller

door reneke @, Best, 10-12-2022, 18:28 (495 dagen geleden) @ leemhuis01

Ik heb altijd gebruik gemaakt van pic.
https://www.picbasic.nl

De site is dan inmiddels wel wat gedateerd maar de informatie is gewoon bruikbaar.

Programmeren Microcontroller

door DirkHartland @, Rhoon, 09-12-2022, 17:27 (496 dagen geleden) @ leemhuis01

Hallo Leemhuis,

Ik zou gaan voor een ATtiny84. Voordeel; toch een redelijke hoeveelheid I/O, interne R-C clock.
Gebruik voor het programmeren de Arduino IDE (bijvoorbeeld 1.8.19), programmeer je met C++.
Gebruik een Arduino UNO (bol.com ongeveer €20) als programmeer apparaat. (Arduino as ISP)
Zoek op internet hoe een “ATtiny84 te programmeren met een Arduino UNO” en hoe deze toe te voegen met behulp van de Arduin IDE board manager. Maak daar een mooi printje (shield) voor.
Na het programmeren van de ATtiny heb je een losse processor in je handen.

Kies voor intern 8 MHz, vergeet niet voor de eerste keer de bootloader te branden (via de Arduino IDE)
Even induiken, wijst zichzelf.

Groetjes, Dirk

Programmeren Microcontroller

door henk vdb @, Breda, 09-12-2022, 19:49 (496 dagen geleden) @ DirkHartland

De Arduino omgeving is heel veelzijdig. In plaats van een AVR met ingebakken bootloader kan je een USB-ASP programmer printje gebruiken, waarmee je de processor via zijn SPI-bus kan programmeren. Zo'n USB-ASP printje kan je voor een paar euro kopen en het wordt ondersteund door de Arduino programmeer omgeving. Maak gewoon op je printje naast de AVR-processor een SPI programmeer aansluiting en verder is er alleen hardware nodig voor je aanstuurproject.

Voorbeeld: USB-ASP

Ook prima te gebruiken met de AVR in interne oscillatormode, je hebt dan in het geval van de ATmega 328 twee extra I/O lijnen beschikbaar (waar anders het kristal op aangesloten wordt).
Een bootloader is dan niet meer nodig, als je via de SPI je programma laadt. Maar als je toch een bootloader wil laden dan kan dat ook rechtstreeks via de USB-ASP vanuit de Arduino omgeving.

Even zelf zoeken, er is informatie genoeg over te vinden.

Programmeren Microcontroller

door DirkHartland @, Rhoon, 09-12-2022, 21:47 (496 dagen geleden) @ henk vdb

Hallo Henk,

Ik ben hier inderdaad van op de hoogte. Ben al een aantallen jaren bezig met Arduino’s, etc.
Bedankt voor je reactie.

Programmeren Microcontroller

door henk vdb @, Breda, 10-12-2022, 13:47 (495 dagen geleden) @ DirkHartland
Gewijzigd door henk vdb, 10-12-2022, 13:48

Was ook bedoeld als aanvulling op jouw bericht en gericht aan TS....;-)

Programmeren Microcontroller

door DirkHartland @, Rhoon, 10-12-2022, 14:17 (495 dagen geleden) @ henk vdb

:)

Programmeren Microcontroller

door Goldline @, Oranjedorp, 09-12-2022, 17:48 (496 dagen geleden) @ leemhuis01
Gewijzigd door Goldline, 09-12-2022, 17:50

In 2000 ben ik begonnen met de Basicstamp van Parallax .
Als losse chip en programmer binnen het budget.
Programeer-software is gratis. en direct in Basic, de compiler zit al in hun chip.
https://www.parallax.com/product-category/basic-stamp/bs-oem/
( je zou er een motor volumepotmeter voor je buizenversterker mee kunnen besturen ,als afstandsbediening ontvanger)

--
Cees PA1DBA

powered by my little forum