Mest vettiga 32-bit mikroprocessor?
Mest vettiga 32-bit mikroprocessor?
Jag stöter på alldeles för mycket problem när jag försöker skapa min stegmotorstyrning med Arduino så jag behöver gå upp ett par snäpp i prestanda och precision.
Det som jag tycker verkar mest lovande är .NET Micro och denna: Netduino for .NET micro
Då får man en vettig IDE som man kan debugga direkt i utan att jämt behöva lägga in kod för att mata ut värden seriellt och det verkar som att det finns ett ganska stort community bakom. En nackdel är ju att det inte finns någon officiell IDE för Mac men det löser man ju med Parallels eller liknande. Det är ju dock på gång med denna: http://forums.netduino.com/index.php?/forum/12-mono/
Finns det fler varianter som är tillräckligt billiga för att man ska kunna köpa flera stycken utan att bli ruinerad?
Det som jag tycker verkar mest lovande är .NET Micro och denna: Netduino for .NET micro
Då får man en vettig IDE som man kan debugga direkt i utan att jämt behöva lägga in kod för att mata ut värden seriellt och det verkar som att det finns ett ganska stort community bakom. En nackdel är ju att det inte finns någon officiell IDE för Mac men det löser man ju med Parallels eller liknande. Det är ju dock på gång med denna: http://forums.netduino.com/index.php?/forum/12-mono/
Finns det fler varianter som är tillräckligt billiga för att man ska kunna köpa flera stycken utan att bli ruinerad?
Re: Mest vettiga 32bit mikroprocessor?
Se om det finns hårdvarubaserade funktioner för att klara tidsgränserna.
.NET för mikrokontrollers verkar dock lika bra som att köra Perl på en AT-Tiny för att styra mjukvaru asynkron kommunikation..
(med reservation för att jag kan ha missuppfattat hur det är tänkt)
.NET för mikrokontrollers verkar dock lika bra som att köra Perl på en AT-Tiny för att styra mjukvaru asynkron kommunikation..

(med reservation för att jag kan ha missuppfattat hur det är tänkt)
Re: Mest vettiga 32bit mikroprocessor?
Jag har i stort sett noll koll på hur en "modern" processor fungerar men det låter åtminstone som att det går att köra tidskänslig kod: http://msdn.microsoft.com/en-us/library/ee435411.aspx
Kanske får ta och testa... "risken" är ju att man lär sig något vettigt.
Kanske får ta och testa... "risken" är ju att man lär sig något vettigt.

Re: Mest vettiga 32bit mikroprocessor?
Kör med C då vet du att det fungerar. Det är dessutom multiplatform, standardiserat och har varit med länge. Så din kod och kunskap lär inte bli akterseglad i framtiden.
- Swech
- EF Sponsor
- Inlägg: 4750
- Blev medlem: 6 november 2006, 21:43:35
- Ort: Munkedal, Sverige (Sweden)
- Kontakt:
Re: Mest vettiga 32bit mikroprocessor?
Vad är det för krav på stegmotorstyrnignen som du har då?
Swech
Swech
Re: Mest vettiga 32bit mikroprocessor?
Det finns ju flera 8-bit microcontrollers som har hårdvarudebuggning. AVR har något som heter debugWIRE.
Sen angående stegmotorstyrningen. Använder du den hårdvara i AVR som är ämnad att driva H-bryggor och liknande? Jag förstår att det bli knepigt ifall du gör allt i mjukvara. Jag tror det t.o.m kan bli svårt för en 32-bit att styra stegmotorer i mjukvara, ifall det inte är så att den har väldigt hög klockfrekvens.
Sen angående stegmotorstyrningen. Använder du den hårdvara i AVR som är ämnad att driva H-bryggor och liknande? Jag förstår att det bli knepigt ifall du gör allt i mjukvara. Jag tror det t.o.m kan bli svårt för en 32-bit att styra stegmotorer i mjukvara, ifall det inte är så att den har väldigt hög klockfrekvens.
Re: Mest vettiga 32bit mikroprocessor?
Kör allting i mjukvara nu...
Det mål jag har är att kunna klara av 1500mm/min i matning på varje axel.
Det kräver en cykeltid på högst 100 mikrosekunder.
Just nu så kommer jag lätt upp i 80 mikrosekunder bara på att räkna ut antal pulser som skall göras om arbetsytan är 1000*1000*1000mm.
Alltså 1000*1000 mikrometer på varje axel. Har testat med diverse tekniker för att snabba upp koden men inte lyckats speciellt bra... kanske beroende på att jag är ganska dålig på programmering och användning av pekare.
Allting hade varit enklare med 32bit och nu när jag läst på lite mer så verkar det inte vara någon bra idé med en processor som kör "managed code" utan man får nog sikta in sig på något annat alternativt gå ner i precision.
Ska titta mer på PIC32, låter som att det kan vara bra.
Är det något liknande detta man kan sikta in sig på http://electrokit.com/chipKit-Uno32.48944 ?
Har aldrig kört PIC förut så jag vet inte riktigt vad jag ska titta efter.
Det mål jag har är att kunna klara av 1500mm/min i matning på varje axel.
Det kräver en cykeltid på högst 100 mikrosekunder.
Just nu så kommer jag lätt upp i 80 mikrosekunder bara på att räkna ut antal pulser som skall göras om arbetsytan är 1000*1000*1000mm.
Alltså 1000*1000 mikrometer på varje axel. Har testat med diverse tekniker för att snabba upp koden men inte lyckats speciellt bra... kanske beroende på att jag är ganska dålig på programmering och användning av pekare.
Allting hade varit enklare med 32bit och nu när jag läst på lite mer så verkar det inte vara någon bra idé med en processor som kör "managed code" utan man får nog sikta in sig på något annat alternativt gå ner i precision.
Ska titta mer på PIC32, låter som att det kan vara bra.
Är det något liknande detta man kan sikta in sig på http://electrokit.com/chipKit-Uno32.48944 ?
Har aldrig kört PIC förut så jag vet inte riktigt vad jag ska titta efter.
- Swech
- EF Sponsor
- Inlägg: 4750
- Blev medlem: 6 november 2006, 21:43:35
- Ort: Munkedal, Sverige (Sweden)
- Kontakt:
Re: Mest vettiga 32bit mikroprocessor?
En 16 MHz AVR kan köra 1600 instruktioner på 100 us.
En motsvarande PIC klarar lika mycket...
Det bör räcka till....
Swech
En motsvarande PIC klarar lika mycket...
Det bör räcka till....
Swech
Re: Mest vettiga 32bit mikroprocessor?
DavidS: med de krav kan det bara vara en usel mjukvara om du inte klarar den del redan som det är!
Att börja blanda in OS och dylikt kommer definitivt inte att hjälpa dig, snarare tvärtom! Koda i ren C, skit i alla frameworks och allt och du klarar lätt uppgiften.
Att börja blanda in OS och dylikt kommer definitivt inte att hjälpa dig, snarare tvärtom! Koda i ren C, skit i alla frameworks och allt och du klarar lätt uppgiften.
Re: Mest vettiga 32bit mikroprocessor?
Jag rekommenderar dig starkt att INTE köra nån sorts .net micro framework på MCU ifall applikationen har några som helst tidskritiska krav, man har ingen direkt kontroll över vad som händer och hur lång tid det tar.
Re: Mest vettiga 32-bit mikroprocessor?
> Det kräver en cykeltid på högst 100 mikrosekunder.
Vad är en "cykel"? Är det ett "steg" på en av motorerna?
Brukar man inte ha dedikerade stegmotor drivsystem om man har lite högre krav?
Och sedan ett överordnat system som bestämmer vart och hur snabbt
det hela ska röra sig.
Att använda en Arduino (som kör mjukvaru drivning av stegmotorer) som
ett argument till att "jag måste ha 32 bitar", låter inte helt genomtänkt.
OCh det går lika bra att skriva dålig kod oavsett antal bitar. Eller använda
verktyg som inte är lämpade för uppgiften.
Vad är en "cykel"? Är det ett "steg" på en av motorerna?
Brukar man inte ha dedikerade stegmotor drivsystem om man har lite högre krav?
Och sedan ett överordnat system som bestämmer vart och hur snabbt
det hela ska röra sig.
Att använda en Arduino (som kör mjukvaru drivning av stegmotorer) som
ett argument till att "jag måste ha 32 bitar", låter inte helt genomtänkt.
OCh det går lika bra att skriva dålig kod oavsett antal bitar. Eller använda
verktyg som inte är lämpade för uppgiften.
Re: Mest vettiga 32-bit mikroprocessor?
Icecap och zealotry har en rejäl poäng.
I övrigt kika på STM, AVR-mikrokontrollers. Ofta med runt 64 kB RAM, ~100 MHz klockfrekvens, pris 50 SEK osv.
Även en riktigt slö MCU på 4 MHz hinner 400 instruktioner på 100 µs. Så det är något med hur processorkraften hanteras. Commodore 64 som gick på 1 MHz fixade multimedia utan problem. Så det lutar åt att det är hur hårdvaran nyttjas som är problemet snarare än vilken hårdvara som används.
Behöver verkligen stegmotorer så snabb reaktionstid?, hur är det med jitterkrav?
I övrigt kika på STM, AVR-mikrokontrollers. Ofta med runt 64 kB RAM, ~100 MHz klockfrekvens, pris 50 SEK osv.
Även en riktigt slö MCU på 4 MHz hinner 400 instruktioner på 100 µs. Så det är något med hur processorkraften hanteras. Commodore 64 som gick på 1 MHz fixade multimedia utan problem. Så det lutar åt att det är hur hårdvaran nyttjas som är problemet snarare än vilken hårdvara som används.
Behöver verkligen stegmotorer så snabb reaktionstid?, hur är det med jitterkrav?
Re: Mest vettiga 32-bit mikroprocessor?
Jag har ett gäng tal(minst 6st) som överstiger gränsen för 16bit så 32bit är det jag "behöver". Det jag vill få till är ju att med så stor noggrannhet som möjligt beräkna positionen på ett verktyg i en CNC-fräs för att låta felen som uppstår bero på mekaniska avvikelser.
Nu har jag tal med en precision på hundradels millimetrar och beräknar sträckan av en vektor mellan två punkter.
Det kan alltså i värsta fall bli denna beräkning: (99999^2+99999^2+99999^2)^(1/2) om jag sätter gränsen för arbetsytan till under en meter.
Ska ändra till att beräkna stegen utifrån den längsta förflyttningen. Till exempel om positionen ska bli 100,25,50 så kan man ju lätt låta Y och Z bero på hur många gånger X har stegat.
Med hundradelar av en millimeter så kommer man ju över gränsen för 16bit ganska snabbt så det är lite det jag vill slippa fundera på genom att skaffa en 32-bit processor. Särskilt eftersom det inte är speciellt dyrt att ta steget upp med tanke på vad resten av maskinen kommer kosta.
Jag har dock insett att jag behöver bättre instrument, både ny IDE med bättre debugmöjligheter och någon form av logikanalysator/oscilloskop.
En C64 gick inte med 10000FPS heller men jag förstår liknelsen. Jag är kass på programmering och jag saknar sätt att debugga på hårdvarunivå.
Nu har jag tal med en precision på hundradels millimetrar och beräknar sträckan av en vektor mellan två punkter.
Det kan alltså i värsta fall bli denna beräkning: (99999^2+99999^2+99999^2)^(1/2) om jag sätter gränsen för arbetsytan till under en meter.
Ska ändra till att beräkna stegen utifrån den längsta förflyttningen. Till exempel om positionen ska bli 100,25,50 så kan man ju lätt låta Y och Z bero på hur många gånger X har stegat.
Med hundradelar av en millimeter så kommer man ju över gränsen för 16bit ganska snabbt så det är lite det jag vill slippa fundera på genom att skaffa en 32-bit processor. Särskilt eftersom det inte är speciellt dyrt att ta steget upp med tanke på vad resten av maskinen kommer kosta.
Jag har dock insett att jag behöver bättre instrument, både ny IDE med bättre debugmöjligheter och någon form av logikanalysator/oscilloskop.
En C64 gick inte med 10000FPS heller men jag förstår liknelsen. Jag är kass på programmering och jag saknar sätt att debugga på hårdvarunivå.

Re: Mest vettiga 32-bit mikroprocessor?
Köp ett PIC32 starterkit samt en ICD3:
73-874-10 processorkort/starterkit 549:-
73-874-11 expansionskort 605:-
73-344-55 ICD3 Programmerare/debugger 1395:-
Finns även skojjigheter som displaykort mm
PIC32 är en MIPS-processor, snurrar upp till 80 MHz, och gör (upp till) 1,5 instruktioner per MHz
Finns med 512k Programminne och 128k Ram, dock inget eeprom för data.
Inbyggd 32 bitars multiplicerare och en hel hög med DMA kanaler.
Finns en mängd olika versioner med olika HW-egenskaper.
Processorerna är mycket billiga dessutom
Priser Ex moms
MPLAB finns i två versioner
Dels den gamla hederliga, enbart WIN
och MPLAB-X plattformsoberoende, dock i Beta än så länge, men skall vara riktigt bra, finns en tråd här på forat om detta.
73-874-10 processorkort/starterkit 549:-
73-874-11 expansionskort 605:-
73-344-55 ICD3 Programmerare/debugger 1395:-
Finns även skojjigheter som displaykort mm
PIC32 är en MIPS-processor, snurrar upp till 80 MHz, och gör (upp till) 1,5 instruktioner per MHz
Finns med 512k Programminne och 128k Ram, dock inget eeprom för data.
Inbyggd 32 bitars multiplicerare och en hel hög med DMA kanaler.
Finns en mängd olika versioner med olika HW-egenskaper.
Processorerna är mycket billiga dessutom
Priser Ex moms
MPLAB finns i två versioner
Dels den gamla hederliga, enbart WIN
och MPLAB-X plattformsoberoende, dock i Beta än så länge, men skall vara riktigt bra, finns en tråd här på forat om detta.