Nederlandse studenten ontwikkelen Arduino-compatibele prototype-tool

Drie Nederlandse studenten proberen via Kickstarter voldoende geld op te halen om een Arduino-compatibele prototype-tool op de markt te brengen. De Phoenard beschikt onder andere over een touchscreen en een groot aantal sensoren en interfaces.

De Phoenard draait op een Atmel MCU, dezelfde processor als in de Arduino Mega. Het apparaatje is ook volledig compatibel met het Arduino-platform, maar een ontwikkelaar kan duizenden programma's - sketches geheten - installeren op de handheld-tool in tegenstelling tot slechts een sketch op een Arduino. De sketches op de Phoenard kunnen via het 2,8"-touchscreen geactiveerd en beheerd worden.

De Phoenard, die in drie varianten leverbaar is, zit ondanks zijn compacte afmetingen vol sensoren en interfaces. Zo is er een gsm-module, een gps-ontvanger, een audiodecoder-chip, een bluetooth-module en een micro-sd-kaartlezer. Ook een temperatuur- en drukmeter zijn aanwezig, evenals een accelerometer en een gyroscoop. Via de gpio-connectoren kunnen nog tal van externe onderdelen aan de Phoenard worden aangesloten.

Met het Phoenard-bordje kunnen ontwikkelaars en hobbyisten tal van toepassingen ontwikkelen. Zo is de Phoenard bijvoorbeeld in te zetten als smartphone, mp3-speler of gamecontroller. Om beginners op weg te helpen bevat het apparaatje al een aantal tutorials.

De drie Nederlanders achter de Phoenard willen 20.000 euro ophalen via Kickstarter om het apparaatje op de markt te kunnen brengen. Op moment van schrijven is dat doel al bijna gehaald. De Phoenard zal naar verwachting 100 euro gaan kosten en in april beschikbaar komen.

Phoenard

Door Dimitri Reijerman

Redacteur

20-11-2014 • 18:30

56

Reacties (56)

56
53
39
11
1
5
Wijzig sortering
Wat een prachtig product.

Ik lees een hoop commentaar hierboven dat de arduino niet Elektro Engineer waardig is.
Ik ben van beroep test engineer en zit in een ontwikkelteam voor flow meters.
Op het begin was er weerstand tegen arduino's met argumenten zoals speelgoed en dergelijke.
Maar het bied heel veel voordelen om arduino's en concurrenten te gebruiken bij de ontwikkeling van producten. De chips zullen nooit in de producten verschijnen. Al is het maar om de simpele reden dat ze niet energie zuinig genoeg zijn.

Maar het is een goedkoop/snel alternatief voor dure oplossingen:
- Sensoren simuleren die nog niet geleverd zijn zodat het ontwikkelen/testen alvast kan beginnen.
- Zeer uitgebreide data analyzers zowel digitaal als analoog die je met een batterij kan voeden.
- Updates voor simulators uitbrengen, en de gebruikers hoeven enkel op "upload" te klikken in de arduino omgeving, en hoeven geen atmel studio te instaleren en te configureren.
- Goedkoop, soms staat er opeens 40V op, ben dan blij dat ik hem dan gewoon weg kan gooien en een nieuwe kan pakken voor 30 euro.

En dan de arduino bibliotheek.
- Heel handig voor bepaalde onbelangrijke trage functies. een I²C apparaat simuleren en zorgen dat deze geconfigureerd kan worden kost echt maar 30 minuten van mijn tijd.
- Indien timing en dergelijke belangrijk wordt heb je nog steeds de mogelijkheid om terug te gaan naar assembly als het essentieel wordt.

Uiteindelijk is een arduino een chip waar een bordje omheen is gebouwd zodat de chip gevoed wordt vanuit USB of adapter. en er een chip op zit om hem via USB te benaderen.

Alle headers zijn mooie directe toegangspoorten tot het bordje zonder dat je de soldeerbout hoeft te pakken.
Official answer to the question "why 8bit mcu?".

Why an 8-bit AVR Microcontroller?
A lot of people commenting and wondering why we decided to use AVR 8-bit Microcontroller running at 16mhz as the main controller of the Phoenard. Well we have several reasons for you and it can be classified into two categories; technical and non-technical reasons:

Technical:
- The single-thread operation takes away the risks for beginners faster CPU's wage in
- Slower speeds allow easier communication with 'slow' sensors and shift registers (the fear of 'too fast' is taken away)
- Availability in DIP package for AVR and low-cost allowing easier further integration when you decide to take your project outside the Phoenard

Non-Technical:
- The ATMEGA2560 is known inside the Arduino community with documentation backing it up, and loads of examples for beginners to get started using it
- We are not aiming for a flashy smartphone, we are aiming for easy to use prototyping platform and embrace beginners
- The Phoenard was born after one of the team member won the grand prize winner of AVR Hero Contest from Atmel with a similar idea.

And lastly, sometimes it is more of an achievement if you manage to make something great out of something really simple rather than making something good out of something great. Moreover, learning how to program with minimal hardware is a skill every programmer should know. When you got all power under your thumb (see: PC) you can afford programming in a terrible way. With limitations, good coding styles are better learnt.
De personen die hierboven een flinke discussie houden m.b.t. de volwassenheid en "engineering waardig platform " slaan denk ik de plank mis m.b.t. het doel van het platform.

Het platform zal heus niet het efficientst zijn in het uitvoeren van veel taken, maar is erg geschikt voor prototyping op hoger niveau.

Ik gebruik het b.v. om "semi" intelligente drones te bouwen met veel verschillende sensoren, en zoek dus een manier om deze snel te kunnen implementeren zonder mij te veel druk te maken om de details.

Wanneer ik een aantal prototypes heb werken in de richting waarin ik ze wil hebben ga ik wel nadenken over de efficiency
Ik had graag WiFi willen zien op dit systeem.
Edit: Zojuist op de site gezien dat WiFi middels een shield mogelijk is.

[Reactie gewijzigd door bas_emmen op 27 juli 2024 20:49]

Hallo Bas,

Ik ken ze goed (zitten o.a. bij mij op school)
Ik kan hier goed antwoord op geven.

Een wifi shield mist inderdaad van de phoenard zelf, dat was iets dat mij ook op viel en ik eerder al gevraagd hebt.
In de phoenard is ruimte voor een verwisselbaar shield (niet een die attached word via een connector aan de onderkant maar die gewoon echt in de phoenard zit).
Een voorbeel hiervan is te zien hier
De reden waarom wifi op een shield en niet geintegreerd is door de grote van de GSM module.
Deze module is iets dat de makers van phoenard graag mogelijk wouden hebben. Het probleem was alleen dat deze module te groot zou zijn om op zo'n verwisselbaar shield te passen.
Hierom is besloten om de gsm in de phoenard zelf te verwerken. dit gaf alleen uiteindelijk niet genoeg ruimte voor ook een wifi module.
En zo is uiteindelijk de wifi module samen met een nfc module op een verwisselbaar shield gezet.

Ik hoop dat dit je wat meer informatie geeft.

mvg.
Remco Geuze
Haha, is zo'n 16MHz atmega chip daar wel genoeg voor, om al deze peripherals aan te sturen? Waarom gebruiken ze niet een modernere chip, zoals de Xmega variant, die sneller is (32MHz) en heel veel hardware (DMA, Events, hele hoop SPI/UARTS/I2C/DAC/...).

Vraag me af hoe ze zoveel hardware willen aansturen met 1 verouderde microcontroller zonder 99% CPU-tijd kwijt te raken met het verzenden van alle data signalen.

Ziet er wel gaaf uit!

[Reactie gewijzigd door mohf op 27 juli 2024 20:49]

Ik vraag me af of u enige arduino ervaring heeft?
Ik heb een Arduino, maar gebruikt hem zelden. Eerlijk gezegd vind ik het maar niks (voor mij), lijkt IMHO meer op speelgoed met een bende aan libraries dan iets waarmee je efficiënte code kan schrijven.

Ik maak altijd mijn eigen PCB's, en als ik voor een AVR programmeer gebruik ik Atmel Studio met Atmel Datasheets. Ik roep de hardware registers rechtstreeks aan zonder onzinnige tussenstappen.

Hoe weet ik wat er precies in de achtergrond gebeurt als ik iets zo simpel als serial.write("Hello World"); aanroep? Wat als ik timing kritische taken uitvoer die niet gestoord mogen worden door de Arduino library? (denk bijv. aan ADC samplerate timing) In het geval van serial.write: de UART registers van een AVR is een byte groot, en om een Hello World te laten zien wordt er voor elke karakter om de zoveel microseconden de CPU onderbroken.

Als ik rondkijk zie ik veel mensen leuke dingen doen met Arduino, maar IMHO hoort een Electrical Engineer niet met Arduino te spelen. Arduino is voor mensen die niets van elektronica weten maar graag ermee hobby'en. Als je wat verder wil worden, gebruik je geen Arduino en pak je een wat moderner MCU.

[Reactie gewijzigd door mohf op 27 juli 2024 20:49]

Hier ga je toch wat te kort door de bocht vind ik persoonlijk, mohf.

Fijn voor jou dat je intussen je eigen PCB's kan ontwerpen en dat je low-level kan gaan op een ARM, maar dat deed je niet toen je de eerste keer een MCU in je handen kreeg.

En dat vind ik nu net zo mooi & waardevol aan een platform als Arduino: het biedt iedereen die interesse heeft in electronica/programmeren een heel gemakkelijke toegang, een "zachte" leercurve, en een fijne ervaring. Niet in het minst omdat het internet bezaaid is met tutorials, voorbeeldcode e.d. ... nét omdat het platform zo toegankelijk is.

Het is mede dankzij een platform als Arduino dat mensen geprikkeld geraken om meer met electronica te doen en zich er verder in te verdiepen, en dat ze er misschien zelfs hun beroep van maken later. En na jaren van ervaring kunnen ze dan ook gaan doen wat jij nu doet, en posts schrijven als de jouwe. Maar dan liever wat minder "pretentieus" ;)

Dus neen, een Arduino is niet iets wat een EE nog vaak zal gebruiken waarschijnlijk, maar héél veel EE's zijn er wél ooit mee begonnen.

Daarnaast kan je op een Arduino ook perfect low-level gaan programmeren als je wil; je hoeft de beschikbare bibliotheken helemaal niet te gebruiken! Zie vb. het "Girino"-project.

Wat het artikel zelf betreft dan: ik kan nu ook niet meteen een use case uit m'n mouw schudden waarvoor ik dit device meteen zou willen gaan gebruiken, maar kan me zéker voorstellen dat ik het wel eens nuttig zou kunnen vinden om e.e.a. te prototypen, en dat lijkt toch de primaire doelstelling van dit ding. Doelstelling behaald dan wat mij betreft :)
Ben helemaal met je eens, arduino is fijn opstapje met grote community en veel support, erg fijn voor beginners maar zelfs ook voor gevorderd is het nog altijd leuk en fijn om mee te werken.

@mohf
"Hoe weet ik wat er precies in de achtergrond gebeurt als ik iets zo simpel als serial.write("Hello World"); aanroep? "

Uhm, je hebt toch veel ervaring met uC, dan zou je denk dat je wel een functie zou herkennen en dus ook ergens een lib staat met die functie erin. Al eens in C/C++ libs gekeken van de arduino software, serial en write staan daar gewoon in. ;)

Jou probleem is er ook als je gewoon C gebruikt, als je dan usart gebruikt tussen je kritische taken door gaat het even hard mis! Net zoals je geen andere dingen ertussen zou doen, gaat altijd op, voor elke singel core uC.

Dan gebruik je gewoon op het verkeerde moment usart, is maar single core die maar 1 ding tegelijk kan doen. Maar zodra de char in buffer staat kan je gewoon beginnen met kritisch taak, usart is hardwarematig.
Dat is een tweede probleem die ik opnoemde: waarom een verouderde Mega gebruiken, als er een nieuwe Xmega uit is, die niet alleen veel sneller is, maar ook veel meer hardware heeft?

In dit geval: je print data naar een buffer, schakeld de DMA in en laat de DMA alle data naar de registers verplaatsen. Geen CPU interrupts.

Probleem is niet zozeer de interrupts, maar hoe de Arduino alle complexiteit van alle functies verbergt. Alles ziet er simpel uit terwijl er van binnen heel veel complexe dingen gebeuren. Zodra je iets exotischer probeert te doen, kom je gauw tegen bugs aan die door de library veroorzaakt worden. De beginner heeft geen flauw idee wat er mis is en leert niks.
Probleem is niet zozeer de interrupts, maar hoe de Arduino alle complexiteit van alle functies verbergt.

Het verbergen van complexiteit van functies is misschien wel de belangrijkste reden dat apparaten vandaag de dag zo bijzonder veel complexe dingen kunnen (zoals, noem maar wat, een post plaatsen op Tweakers.net). Het lijkt me daarbij essentieel dat niet iedereen meer in jaren '70 hacker stijl zijn code in pure assembly aan het schrijven is, maar juist beschikt over hogere orde bouwstenen om sneller en efficienter te kunnen bouwen.

Het kan uiteraard het geval zijn dat het gebruik van een library als gevolg heeft dat bepaalde bugs moeilijker te debuggen zijn, maar in de meeste situaties werkt het precies omgekeerd: het feit dat je al die low level functies niet meer zelf hoeft te implementeren zorgt er juist voor dat er veel minder code is om fouten in te maken en dat je dus eindigt met minder bugs, sneller klaar bent en beginners sneller enthousiast zijn omdat ze iets werkends gemaakt hebben. Ik vind kritiek op mensen die niet op het laagste abstractieniveau van de elektronica werken dan ook altijd bijzonder snobistisch en ondoordacht.
Precies,
Ik ben zelf ook een electronica ontwerper en zat er al in vanaf de atmel 89c2051, dus nog voor de AVR (en mega) series. Alle code schreef ik in assembly, en zelfs toen al gaf Atmel 'evaluation boards' uit. Als ik nu kijk naar hoe gebruiksvriendelijk het met Arduino is geworden juich ik dat alleen maar toe. Ik ben erg enthousiast over de ontwikkelingen van de electronica en het is toch geweldig dat mensen geen pcb's meer hoeven te maken en een complete opleiding hoeven te volgen om lekker te hobbyen? Voor mij is het omgekeerde wereld. Ik heb pas nu een Arduino besteld om eens te kijken wat ik er mee kan (en mijn zoontje enthousiast hiervoor kan krijgen). Ik zie het als het nieuwe lego, en On topic, de Phoenard lijkt me erg leuk voor tal van toepassingen zoals Domotica. Mooi initiatief.
Beste Mohf,

Aan mensen zoals jij erger ik me al een hele poos binnen de EE wereld. Zelf ben ik een afgestudeerd EE´er. En een EE´er die zijn handen niet vuil maakt om vies veel code te kloppen. Heb een minor Games Programming buiten de deur gedaan, en loop tegenwoordig ook de hele dag code te kloppen. Dus weet aardig waar ik over praat als het over programmeren gaat.

En ik heb nog nooit zo´n domme uitspraak gehoord, dat een EE´er geen arduino moet willen aanraken. Als het effectief genoeg is voor je toepassing, waarom zou je het dan niet gebruiken?

De EE wereld is momenteel zo groot, dat iedereen een ander specialisme heeft. Mijn EE wereld is ook keihard, hardcore, on-the-bone code kloppen. Maar als ik hier de EMC jongens hoor, die geen code weten te kloppen, voel ik me weer heel klein in de EE wereld. En andersom hebben hun het zelfde gevoel als ik over mijn codes begin.
En wij noemen elkaar ook geen "loser", omdat de ander een ander specialisme heeft. Dat is juist goed. Anders moesten we allemaal alles weten
De laatste alinea kun je natuurlijk samenvatten als :
"Specialization is for insects"
Wat kan ik zeggen?
Proficiat met je studie, en ook met je deelname aan & resultaat op de SEM! En dat meen ik hoor, tussen haakjes! :) Ik wou & wil je helemaal niet aanvallen met mijn reactie, maar ik schreef gewoon neer waarom ik het oneens was met wat jij schreef. En daar blijf ik nog steeds bij.

Er zullen er heus nog wel zijn zoals jij die meteen "hardcore" starten - omdat ze ertoe in staat zijn, of omdat je 1 van die mensen met zo'n karakter en/of drive bent, of... - maar jij weet ook dat je daarmee een uitzondering bent, en niet de norm.

Je laatste alinea vertelt ook iets over je leeftijd.
Je bent ongetwijfeld een verstandige jongen die erg gedreven is en die hopelijk een mooie toekomst voor zich heeft, maar iemand als "loser" gaan bestempelen omdat ze naar jouw maatstaven onderpresteren, of omdat ze dingen doen op een manier die jou inferieur lijkt (en dat misschien ook is), heeft geen zin. Ik hoop dat je dat dan op zo'n moment inderdaad ook enkel dénkt, en dat je dat niet hardop tegen die mensen zegt.

Ik weet dat dit heel belerend en ouwbollig klinkt allemaal, maar wil gewoon maar zeggen: maak je geen illusies! De kans is heel groot dat je in je leven mensen tegen zal (blijven) komen die slimmer & beter zijn als jij. En jij zou het niet fijn vinden als zij jou net zo zouden benaderen als hoe jij nu spreekt over je medestudenten/opponenten. Als jij beter bent dan hen, spreek hen er dan over aan op een positieve manier zodat ze iets van je kunnen leren; dan wordt iedereen er beter van.

Om deze reactie op een mooie manier af te sluiten dan, nog een mooie quote van Einstein: "Schwäche von Haltung wird Schwäche des Charakters" ;)
wat een stelletje losers.
Aan dit soort competities doen veel verschillende teams mee met erg uiteenlopende samenstellingen en ervaringen. Omdat een team niet de hardware gebruikt die jij vindt dat ze moeten gebruiken maakt ze nog geen losers. Daarin mis je nog het onderdeel van sportiviteit wat een belangrijk deel is van dit soort competities.
Maar een Arduino hoort een EE gewoon niet aan te raken
Ik vind het anders heerlijk om snel iets mee te klussen of testen. Ook met een BSc in elektrotechniek. Waarom zou ik de purist uit gaan hangen en moeilijk gaan doen? Er lopen er op de TU ook genoeg rond die zo denken hoor, alles moet op hun manier, en zo low level mogelijk. Maar zo een houding maakt het functioneren in een (werk)omgeving met andere mensen niet makkelijk.
Ok, Arduino is speelgoed. Leuk speelgoed, maar speelgoed evengoed.
Wat vind jij wel een bruikbare microcontroller om bijvoorbeeld hardware mee aan te sturen ?
Zelf heb ik na een electronica-loze periode van bijna 20 jaar (daarvoor mijn eigen controllerboards gebouwd om 6502's en veel geknoeid met ttl en GALletjes) een poosje naar PLCs gelonkt, maar ondanks dat het voor serieuze toepassingen de standaard is maak je het daarmee jezelf wel heel erg moeilijk he. Vooral als je het in LAD wil gaan doen, dat is een soort golfen in een dwangbuis met een blinddoek om :)

Ik ben benieuwd naar meningen.
Anoniem: 296513 @mohf21 november 2014 00:02
Waarom zou een EE een arduino niet aanraken? Als je snel wat moet aansturen en geen zin hebt om een print te tekenen, of je wilt een nieuw sensortje even testen. Waarom dan niet? Dat er een hoop mensen arduinos op een foute manier gebruiken geloof ik graag, maar iemand als jij kunt dat juist verantwoord doen.
Toen ik begon met Microcontrollers was het Assembly in een 16F PIC. :) Was wel even wat anders dan hoe met hedendaags begint. Niet erg.. maar je weet wel wat er zich afspeelt in de registers en register bankjes en de ALU.
Tuurlijk verandert alles. Maar men weet niet meer wat er in de chip gebeurt. De vraag is tegenwoordig of dat nog belangrijk is met de komst van hogere talen.
Wel, dat blijft natuurlijk belangrijk wanneer timing vb. een issue is zoals mohf al aanhaalde, en daarin heeft hij 100% gelijk.
Maar het punt blijft ook dat er helemaal niets mis is met het bestaan van een platform als Arduino of met devices als deze die bouwen op zo'n platform, om mensen kennis te laten maken met die electronica op een minder abstract niveau.

Ervaring & expertise bouw je op, maar intrede & enthousiasme ontstaan vanuit toegankelijkheid & showcases, en daarin blinkt een platform als Arduino echt uit.

Dat geldt trouwens niet enkel voor low-level-talen of programmeren voor een MCU hé. Wist ik veel wat een bitshift kon betekenen t.o.v. een arithmetische function call in een "hogere" taal zoveel jaren geleden...
Zoals ik het nu zie is het een goede oplossing voor hogescholen (en universiteiten), omdat daar vaak een tekort is aan sensoren of juist met oude hardware wordt gewerkt. De Phoenard is dan een goede tool om studenten makkelijk prototypes te laten bouwen.
Je geeft het zelf al aan dus ik begrijp je afgunst niet helemaal. Het gaat juist om mensen die géén professioneel embedded software designer zijn. Arduino wil hen laten kennismaken met de fascinerende mogelijkheden van electronica. Waarom zou je in hemels naam als hobbyist je met timing bezig houden? Je weet toch zelf ook wel dat je daarvoor de lompe, moeilijke, zware programma's hebt waarin professionals zich buigen over timing problemen?

Arduino IS een speeltje. Een speeltje dat veel mensen heeft laten kennismaken met een gebied waar ze anders met geen mogelijkheid in aanraking mee hadden kunnen komen. Als een prototype van Arduino formaat goed is kan er altijd nog uitgeweken worden naar professioneel ontwerp.

Ten slotte vind ik het vreemd dat je calls zoals 'serial.write' zo hekelt. De essentie van een programmeertaal en/of framework dat je een gestandaardiseerd stukje code kunt gebruiken. Als niemand deze open-source low-level implementaties van higher-lever functies zou vertrouwen waren we nu nog allemaal nog in Assembly aan het schrijven.

[Reactie gewijzigd door unglaublich op 27 juli 2024 20:49]

Het zal je misschien verbazen, maar als je een PLC programeert dan doe je dat in iets wat erg dicht tegen assembly aan ligt. Precies om bijvoorbeeld timingproblemen te voorkomen.
Ja vast. Compilers zijn tegenwoordig zo geavanceerd dat geen individu daar tegenaan kan programmeren. Het gaat tegenwoordig om een balans tussen high- en low-level in plaats van zo laag mogelijk programmeren.
Anoniem: 145867 @trogdor20 november 2014 22:25
Onzin. PLC's worden ook niet meer zo laag geprogrammeerd. Hedendaags mag ik hopen dat men geen structured text list of ladderdiagram meer gebruikt. Is totaal overbodig nu.
Kijk eens naar de Siemens PLCs ontwikkelomgeving Simatic Step 7. Met de basis versie daarvan kom je niet veel verder dan inderdaad ladder en structured text. Dat viel me ook erg tegen.
'Premature optimalisation is the root of all programming evil.', zei mijn collega laatst. En gelijk had hij. Het heeft helemaal geen nut om alles meteen 'efficiënt' te schrijven? Waarom? Omdat 99 van de 100 keer de compiler na optimalisatie er al het meest efficiënte programma van weet te maken. Voorwaarde is dan wel dat er nette en duidelijke code geschreven wordt. Als er allerlei foefjes worden uitgehaald waarvan men denkt dat het sneller is dan raakt de compiler de weg kwijt en verlies het programma juist efficiëntie!

En als men het uiteindelijk nog niet vertrouwd: meten is weten. Schrijf dan het programma dubbel en hou een wedstrijdje tussen de twee. Dan is er voor eens en altijd duidelijk wat efficiënter is.
Ik denk dat je dat kan uitbreiden door te stellen dat 'headstrongness is the root of all evil'.
Dat geld inderdaad ook voor micromanagement door onzinnige pre-optimalisaties in code die zowiezo bijna niet wordt gebruikt. Vaak gezien.
Het is veel belangrijker om te kijken waar de meeste cpu (of IO) tijd gaat zitten (profiling), en dat te optimaliseren, niet door micromanagement maar door het kiezen van het juiste algorithme.

Maar met PLCs is het een ander verhaal, die krengen gebruiken paradigmas van 50 jaar oud en beperken je enorm, maar dat wel om bepaalde dingen te kunnen garanderen, zoals timing.
Zelfs wat door moet gaan voor hogere level talen is een beperkte subset van waar men in de rest van de wereld al jaren mee kan werken.
Ik begrijp die afweging wel, het gaat tenslotte om machines en zo.
Anoniem: 366402 @mohf21 november 2014 13:29
Vooruitgang, heet dat.
Ideaal als je al die overhead van de techniek kwijt bent en direct met het project aan het werk kan.

Heeft niets te maken met je kennis van electronica, maar of het voldoet voor de toepassing. Met de arduino library kun je met weinig werk een hoop resultaat hebben.
Ik maak zelf geen gebruik van de arduino bordjes, maar ik programmeer de atmega's die ik in mijn projectes gebruik wel vanuit de arduino IDE.

Zodra real-time verwerking een kritiek issue wordt kan ik me voorstellen dat je een niveau omlaag gaat, maar om eerlijk te zijn voldoet een atmega geprogrammeeerd via de arduino libraries voor 99% van de projectjes wel.
Het hangt er vanaf wat je wilt doen, maar als je het op de juiste manier gebruikt is 16MHz zat. Als je ziet wat voor dingen je kunt doen met de TI83 qua spelletjes. Dat is ook een 8-bit processor en die draait op 6MHz.
De peripherals hebben niet continue de aandacht nodig, sensor samplen: 100Hz is waarschijnlijk voldoende, muziekje: even een paar kB richting de midi chip sturen en klaar; display update: als je maar een klein stukje hoeft te doen dan is dat zo gebeurd.
Als een Arduino niet snel genoeg is dan is dat meestal omdat men onnodig ergens op wacht.
Dat is precies het probleem.

De TI83 waar jij het over hebt, mag misschien wel werken op 6MHz, maar die is ontworpen en geprogrammeerd door professionals, en die heeft hardware die specifiek is gemaakt voor de rekenmachine. En de TI83 heeft al deze senoren niet: geen speaker, geheugenkaart, SIM, seriële communicatie, bluetooth / gps, barometer / accelerometer / gyro / noem het maar op....

Een Arduino mag wel 16MHz hebben, maar wat ik hier zie met tientallen verrschillende sensoren zit je toch al gauw op de 100% CPU gebruik.

Een sensor samplen op 100Hz is niet niks, vooral niet als je daarvoor allerlei interrupts gebruikt die je CPU continue zitten te onderbreken. Als je een moderne microcontroller gebruikt zoals de Xmega, dan kan je veel van deze taken overlaten aan hardware peripherals zoals de DMA / Direct Memory Access, of Events. Dan hoeft de CPU minder vaak onderbroken te worden. Of (wat ik eerst dacht toen ik dit artikel zag) je gebruikt twee microcontrollers: één voor alle sensoren en randapparatuur; en een die via SPI o.i.d. de gewenste data kan lezen/verzenden, en voor de rest helemaal vrij is.

[Reactie gewijzigd door mohf op 27 juli 2024 20:49]

Ze zitten bij mij op school. Zover ik weet worden niet alle sensoren continue gebruikt. Ze hebben de bootloader zo aangepast dat je sketches kan laden vanuit een andere sketch. Het "besturingssysteem" laad dus een sketch met een specifieke functie. Daardoor hoef je niet alles continue te samplen en verwerken.
Een Arduino mag wel 16MHz hebben, maar wat ik hier zie met tientallen verrschillende sensoren zit je toch al gauw op de 100% CPU gebruik.
Je hoeft ze niet allemaal tegelijk te gebruiken he.
Laten we het er gewoon over eens zijn dat jij niet de doelgroep bent. Scheelt je een hoop geneuzel.
Al die peripherals zijn inderdaad goed aan te sturen met een Atmega2560. Het is wel handig dat er een MP3&Midi decoder op zit, want dat zou anders wat lastiger zijn.
Haha, is zo'n 16MHz atmega chip daar wel genoeg voor, om al deze peripherals aan te sturen? Waarom gebruiken ze niet een modernere chip, zoals de Xmega variant, die sneller is (32MHz) en heel veel hardware (DMA, Events, hele hoop SPI/UARTS/I2C/DAC/...).

Vraag me af hoe ze zoveel hardware willen aansturen met 1 verouderde microcontroller zonder 99% CPU-tijd kwijt te raken met het verzenden van alle data signalen.

Ziet er wel gaaf uit!
Ja en nee, wat verwacht je? Je kan het allemaal prima aan praat krijgen en je kan er ook echt wel wat leuks mee maken, maar heeft zijn beperkingen uiteraard. Je zal dan al behoorlijk deel van je resource kwijt zijn om alles aan te sturen, moet niet denken dat je hele ingewikkelde dingen kan gaan maken, 8KB ram en 16Mhz is niet echt heel veel, en daar gaat dus nog deel vanaf puur voor het aansturen van alle hardware.

Ik zelf gebruik al jaren Xmega's voor aantal van mijn producten en projecten, is al grote stap vooruit ten opzichte van de mega's, maar zou nu toch eerder gaan voor STM32 of soortgelijke chip van ander merk. M4 op 72Mhz met 64KB, dan hou na het aansturen van hardware tenminste nog hoop resource over, en kosten niet zoveel duurder dan de AVR's.
16 mhz klinkt tegenwoordig best zielig, akkoord.
Maar 16 000 000 ticks per seconde is toch al best veel, zeker als het uitlezen van een pin slechts enkele ticks duurt.
De eerste pc’s moesten het bijvoorbeeld met (een stuk) minder doen.

Misschien heb je zoals velen de meer is beter reflex. Maar imho zijn beperkte resources een goede leerschool voor beginnende knutselaars.
(heb vorige week nog iemand moeten uitleggen dat 25% cpu gebruik in een wachtlusje op een quad core niet ok is, ook al merkt de gebruiker daar (meestal) niks van.)
http://www.youtube.com/watch?v=sNCqrylNY-0 Een atmega op 8MHz. Nog steeds bang dat 16MHz niet genoeg zal zijn? :)
Ik zie jouw kickstarter project met belangstelling tegemoet!
100 euro is opzich best leuk maar als je dan kijkt dat je dingen als smartphone, mp3-speler of gamecontroller voor minder hebt...
Zelf ontwikkelen en dingen maken is altijd leuk, maar het dan ook nog verkopen danmoeten toch echt veel meer mensen hier wat in zien. Bij de rasp zag je ook van dat soort dingen verschijnen maar die waren dan vaak zo duur dat het net weer niet intressant genoeg was :(
Vergeet niet dat dit een prototype bord is, dus niet voor productie, maar meer om meerdere "sketches" achter elkaar te testen met verschillende oplossingen op diverse soorten sensoren e.d.

Als je dan een goed werkend iets hebt, kun je bijvoorbeeld zelf de printplaten etsen, processor etc erop.

Dit is dus puur voor testen en ontwikkeling en dus voor meerdere doeleinden tegelijk te gebruiken.
Dit is een prototype board. Hier kunnen we dingen die we proberen meteen in werking zien. Stel ik wil een controller maken, dan prototype ik dat eerst, dan test ik het, verfijn het en als ik er dan iets mee wil doen, kan ik een chinees bellen die het met goedkope componenten voor mij op een PCB bakt, dan heb 1000 controllers voor de fractie van een "originele" controller.

Je koopt dit inderdaad niet om tot controller te bouwen en die dan te gebruiken, daar koop je gewoon een controller voor (die iemand heeft geprototyped, getest, verfijnd, gemaakt e.d.).

Edit: ah, CRXDelSol was me voor. :P

[Reactie gewijzigd door chaoscontrol op 27 juli 2024 20:49]

Ik zie ze op de kickstarter pagina het apparaat op een ipod dock zetten
Het lijkt ook wel de 30-pins aansluiting die je op oudere ipods en iphones hebt zitten...
maar ze noemen het een "Phoenex Connector".

(zie; hier)

[Reactie gewijzigd door Medic op 27 juli 2024 20:49]

Dell en Samsung gebruikten die 30 pins connector ook. Samsung voor een tablet, Dell weet ik niet meer waarvoor.
Die van samsung was net anders dan die van Apple, ze pasten in ieder geval niet.
Leek idee, maar waarom gebruiken ze niet zoiets als de uC van de Teensy (een Freescale ARM processor, ook te programmeren vanuit de Arduino IDE via kleine toevoeging).

[Reactie gewijzigd door jopiek op 27 juli 2024 20:49]

Wat komt er tegenwoordig toch geweldig mooi speelgoed op de markt.

Met al deze sensoren zijn de toepassingen oneindig.

Leuk ook dat het van Nederlandse studenten komt.
Haha, dit is bij mij op school! Wat gaaf!
Mooi, me2. Welk jaar zit je?

Gerard 4e jaar
Gerard, wat voor minor doe jij, ik zie je eigenlijk nooit @hit...
Nanotechnology, ik ben er vaak op vrijdag nog wel

Op dit item kan niet meer gereageerd worden.