Välja Mikroprocessor för utveckling av kontroll av hissar

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
TheCalle
Inlägg: 18
Blev medlem: 25 juli 2008, 15:15:21
Ort: New York

Välja Mikroprocessor för utveckling av kontroll av hissar

Inlägg av TheCalle »

Hej

Jag är ny här på forumet men har läst en hel del inlägg och man märker ju direkt att det finns mycket kunskap här!

Jag håller på med ett projekt där jag ska koppla ihop upp till fyra stycken hissar så att de kan styras ifrån en och samma kontroll. Själva styrningen kommer att bestå utav, Upp, Ner och en "programmeringsknapp" där användaren ska kunna ställa in en max och en minhöjd för hissarna (det handlar om pelarhissar och inte hissar du åker i). Dessutom så kan hissarna höjas i olika hastighet beroende på hur tungt lastade de är, det är detta som är ett problem och därför behövs en mikroprocessor som kan hålla reda på hur snabbt hissarna går.

Det var lite om själva projektet, nu till mikroprocesson.
Jag behöver en mikroprocessor som har 25 st I/O portar, 3 timers, minne och hastighet vet jag inte exakt men skulle tro att något i stil med 16 KB minne och ca 16 mhz vore tillräckligt. Troligen är det mer än tillräckligt men det är ju skönt med lite extra marginaler :)

Det är ju som vanligt PIC eller AVR som det står mellan. Jag kommer att programmera i C och har viss men inte jättemycket mikroprocessorerfarenhet sen tidigare. Har inte användt PIC eller AVR tidigare så det blir lite nytt där hur som helst. Har iof tittat lite på TI olika varianter då jag har programmerat en DSP ifrån TI och känner till CodeComposer.

Instinktivt så känns det bättre med AVR, de verkar ha enklare utvecklingsmiljöer (när man programmerar i C) med programmerare och allt. Det är ju bara så som jag ser det, jag har ju inte testat ännu.
Priset på programmerare och microprocessor spelar inte så stor roll, de flesta verkar ligga inom rimliga priser i alla fall.

Är det någon som har något bra tips på mikroprocessor? Och vilken programmerare man behöver för att programmera den skulle vara trevligt att veta också!

Jag bor för närvarande i USA så ni behöver inte tipsa om några speciella svenska sidor eller produkter om de inte finns att få tag på i USA.

Och just det ja, detta kan bli en produkt (ingen massproduktion, kanske 100 per år eller så) i framtiden men jag antar att mer eller mindre alla mikroprocessorer kan användas i produktion.

Oj det blev lite längre än vad jag hade trott :)

tack på förhand

/Calle
Matte
Inlägg: 218
Blev medlem: 4 april 2007, 19:54:17
Ort: Stockholm

Inlägg av Matte »

Tjena Calle,

En STM32 kanske? 32-bit ARM Cortex-M3 med 45 eller 90Mips.
16-512k flash osv.

De är rätt billiga och lätta att jobba med då det finns gott om kraft och pereferier för att expandera. + att den är oftast enklare att debugga.
Billig! svårt att få mera kraft för pengarna!

Nackdelen är att det är ett helvete att löda själv, jag har iaf problem med 0.5mm pitch. Troligen lättare att få hjälp här på forumet med PIC/AVR.

MVH
Mattias
TheCalle
Inlägg: 18
Blev medlem: 25 juli 2008, 15:15:21
Ort: New York

Inlägg av TheCalle »

Tack för svaret Mattias, den verkar nästan lite för bra för mitt projekt :) Skulle nog föredra en mikroprocessor som är lite mer utbredd (dvs fler som kan hjälpa mig om jag får problem :)
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Det är ju som vanligt PIC eller AVR som det står mellan.

Är det ? Varför det ?
Varför inte en enkel PLC eller liknande styrsystem ?

> Jag kommer att programmera i C

Är det inte lite väl tidigt i projektet för att binda
upp sig mot ett visst språk ?

> Och just det ja, detta kan bli en produkt (ingen massproduktion, kanske 100 per år eller så)

Glöm inte att sådant som certifiering, paketering (box) o.s.v snabbt kan bli
väldigt dyrt. Mycket av det får du på köpet med (t.ex) vanliga PLC'er.
Eller i alla fall något färdigt kort med AVR/PIC för inbyggnad. Det kanske
är lite väl små serier för att börja bygga helt egna kretskort o.s.v.
Om du inte har "bra" kund som inte är så priskänslig och där helt egen
hårdvara från grunden ger speciella konkurrensfördelar. Så kan det ju vara
ibland... :-)
TheCalle
Inlägg: 18
Blev medlem: 25 juli 2008, 15:15:21
Ort: New York

Inlägg av TheCalle »

En PLC skulle nog kunna fungera men jag är lite mer inställd på en mikroprocessor, har lite mer erfarenheter av dem. Iof har jag programmerat PLC:er oxå men bara i skolan för att testa på att programmera "ladder logik". Ska kolla lite mer på PLC men för tillfället är det mikroprocessor som gäller.

Angående programmeringsspråk så har jag testat på både assembler och C och jag är mycket bättre på att programmera C. Jag är iof öppen för att lära mig nya programmeringsspråk men trotts att detta är ganska enkel programmering så känns det bättre att programmera i ett språk jag redan behärskar någolunda. Och assembler tycker jag inte om :)

Just själva produktionen ska jag kolla upp lite mer noggrant innan jag sätter igång ordentligt. Det var bra att du påminde mig om det!

tack för svaret sodjan
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Inlägg av thepirateboy »

Ett sätt är att slå på stort och använda en Atmega1281 eller liknande, då har du pinnar och minne så det räcker och blir över. Eftersom det handlar om så små serier spelar priset troligen mindre roll. Vill man använda en mindre MCU när man är klar är det inte så mycket jobb att byta modell om man använder AVR då modellerna är relativt lika i sin uppbyggnad.

Lämplig billig programmerare AVRISP MKII. Kompilator avr-gcc (WINAVR).
TheCalle
Inlägg: 18
Blev medlem: 25 juli 2008, 15:15:21
Ort: New York

Inlägg av TheCalle »

Jo har kollat lite på den oxå. Men jag kommer aldrig på det här projektet att kunna utnytja hela dens potential, inte ens nära. Det känns lite som slöseri. Finns det någon modell som är lite under den men fortfarande bra?

Programmeraren kopplar man bara in till ett par pinnar på mikroprocesson och så kan man programmera den utan att behöva någon mer hårdvara eller`? (man har ju ett breadboard eller nåt med Vcc ect såklart, jag menar mer speciell hårdvara).

Och när du ändå tog upp det, är det mestadels initieringsrutiner som skiljer mellan de olika modellerna inom samma typ av mikroprocessorer, typ AVR? Jag menar om man vill flytta ett program ifrån en modell till en annan...

Och en annan fråga. behöver man en extern oscillator för AVR:erna?
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Inlägg av thepirateboy »

ATmega324P har jag använt till flera projekt, en modern MCU med det mesta man behöver. Finns även som DIP tror jag, om man vill koppla på labbdäck.

Nej du behöver inget mer mellan programmerare och MCU.

Det som brukar skilja är namn på register och interruptvektorer.

Du behöver inte extern kristall. Kan dock behövas om du t ex använder UART:n då den interna RC-oscillatorn inte är så exakt.
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Renesas M16C är en bra processor, mycket periferfunktioner t.ex. ett antal timer/counter (5 st typ A, 4 st typ B) och en massa annat. HEW med C-kompiler är gratis till 64KB källkod och dit har jag inte kommit än ens med mitt största projekt (som är stort!).
TheCalle
Inlägg: 18
Blev medlem: 25 juli 2008, 15:15:21
Ort: New York

Inlägg av TheCalle »

64 kb är mer än nog för mitt projekt, skulle tro att 16 kb är mer än nog :)
Dock så känns ATmega324P som lite mer passande än M16C, men tack för tippset ändå. Hade inte ens hört talas om den tidigare :)

Är det något speciellt man behöver tänka på när man programmerar en AVR, eller är det bara att slänga in lite initieringsrutiner, en oöndlighets loopande mainfunktion och lite funktioner som den anropar?

När man sätter på strömmen till en programmerad AVR, startar den mainloopen av sig själv utan att man behöver göra något speciellt eller ska man skriva någon speciel rutin för att starta upp den? Antar att det behöver ligga på en viss plats i minnet men ordnar komilatorn det av sig själv eller?

(ni får gärna komma med fler tips på mikroprocessorer även fast atmegan just nu är den som ligger bäst till)
Användarvisningsbild
marcla
Inlägg: 311
Blev medlem: 19 juli 2006, 11:36:38
Ort: Gislaved

Inlägg av marcla »

Prossesorn startar automatiskt ditt program...
Det ända du behöver göra är att configurera Kristal och dy l.
limpan4all
Inlägg: 8458
Blev medlem: 15 april 2006, 18:57:29
Ort: Typ Nyköping

Inlägg av limpan4all »

Jag föreslår ännu mera overkill.
LPC2368.
Den är billigare (halva priset) än MEGA128X varianterna och har mer av i stort sett allt.
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Inlägg av Micke_s »

STM32 och ARM sköter du val av processorkälla i koden jfm PIC och AVR, mycket smidigare än någon config. Bättre PLL:er i STM32 jfm PIC/AVR.

Prisbilden
Atmega1281 (ATMEGA1281-16MU-ND)
9.49$ för 100st

STM32 (STM32F101RBT6)
5.65$ för 100st

Så STM32 är både billigare och kraftigare....

Om du bara ska debugga upp till 32k så finns "RLink Debugger/Programmer, STD" 1190kr exkl på lawicel, debuggar upp till 32k och programmerar hela chip.
TheCalle
Inlägg: 18
Blev medlem: 25 juli 2008, 15:15:21
Ort: New York

Inlägg av TheCalle »

Jag tycker iof om overkill (bara att säga overkill är ju skoj!) men LPC2368 är nog lite i värsta laget, 70 mhz behöver jag absolut inte :shock:

Priset för en ATmega324P är under 5$ vilket är billigt nog, klart att billigare är bättre men det känns som om att ju mer overkill desto mer jobb med att få allt att fungera.

Val av processorkälla?

Tack för tippset ändå!
Användarvisningsbild
björn
EF Sponsor
Inlägg: 2570
Blev medlem: 29 mars 2004, 23:09:55

Inlägg av björn »

Håller med om att det kan vara väldigt onödigt att gå upp till mer avancerade uc även om dom är "billigare", oftast så är det mycket mer jobb med mjukvaran vilket gör att det inte är billigare i slutet ändå. En 8.bitars uc har (oftast) färre register och mindre komplicerad uppbyggnad vilket gör att utvecklingstiden är snabbare sålänge man inte behöver mer "fancy" funktioner (då går det enklare med en rejälare pjäs iom att dom har mer inbyggt).

Rätt processor till rätt jobb.

Själv vet jaginte om jag har några reckomendationer efter andras förslag men ATMega16 eller ATMega32 verkar väl ganska lagom.
Eller så går du vidare på din inslagna linje sedan tidigare och tittar på TI MSP430 serien (fortfarande lite overkill verkar det som men billiga och bra(?)), som det även finns GCC för C-kompilering till :)

EDIT: TI har dessutom ganska bra dokumentation om olika programmerare som man kan bygga själv, tex via serieport och BSL.
Skriv svar