Är AVR rätt för mig om jag ska bygga små system?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Är AVR rätt för mig om jag ska bygga små system?

Inlägg av Al_Bundy »

Programmerar helst i Java, men jag känner hela tiden att jag kommer inte undan C programmering då jag stöter på uppgifter som kräver snabbhet. Jag brukar normalt programmera enkortsdatorer i Java då det är så enkelt. Men jag har beslutat att jag ska ta in C programmering också.

Jag har tittat lite på STM32 och det ser väldigt fint och bra ut. Men det känns som att man behöver något enklare. STM32 är en allt mer avancerad hårdvara och därmed behövs mer C-kod. Som tur så har ST microelectronics löst detta med att blanda in massa program som löser det svåra. Men då ska man lära sig det också. :tumner:

Mitt behov utav C-programmering är endast om min "huvudenhet" behöver någon speciell funktion som den inte har. Det kan vara t.ex. en PWM styrning som samtidigt behöver en ADC läsning. Exempelvis skulle det vara att min enkortsdator säger åt en mikrokontroller att vara som en PID, istället för att enkortsdatorn ska axla detta arbete.

Så då undrar jag om AVR är anpassat för mig då jag behöver något enkelt som kan styra och reglera. Jag ska inte hålla på med några flashiga LCD med pekfunktion eller någon super beräkning. Eller finns det enklare CPU:er att jobba med?
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: Är AVR rätt för mig om jag ska bygga små system?

Inlägg av Micke_s »

Jag hade valt cortex m istället idag. Debug-interfacet är snabbare och stabilare. Många fler microprocceccorer att välja. Lite mer register att sätta upp, men när man är inne i det så är det relativt enkelt.


Segger är bra debugger btw.

För små MCU:er så finns nxp kl03. Finns även med NFC t.ex. Nxp har också 5v varianter...


Cortex m4 har flyttal också(se tillverkarens info), kan vara bra vid PID mm
Användarvisningsbild
mankan
EF Sponsor
Inlägg: 905
Blev medlem: 18 juli 2015, 11:23:22
Ort: Linköping

Re: Är AVR rätt för mig om jag ska bygga små system?

Inlägg av mankan »

Al, du verkar lite fixerad vid språkval i min mening. Val av inbäddad system är så mycket mer, tillgänglig utvecklingsmiljö, debugger, libbar, communities, kostnader, vad man behöver just för uppgiften osv.
Följande video kanske ge ett uppvaknande när det gäller C++ och inbäddade system:

Nu ska jag svära i kyrkan: Jag skulle börja med C/C++ i Arduino-miljö, just för att enkelt komma igång med mindre inbäddade system utan att behöva bitfippla på varenda register för att få något att hända. Fördelen med detta är du kan köra på AVR, STM32, ESP32/8266, Teensy osv utan att bry dig om de delarna. När du sedan växt ur detta eller vill ha mer koll på vad som händer under huven, ja du kastar du Arduino-delarna och kör någon mer slimmad miljö alternativt bygger om Arduino till att passa det du vill göra.

Och för din del skulle jag rekommendera AVR för du verkar behöva få en förståelse för vad saker och ting i programkod, enkelhet, produktivitet kostar i flash och ramminne och CPU-kostnad. Och ta det som ett råd i välmening och inte som ett flame bait.
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: Är AVR rätt för mig om jag ska bygga små system?

Inlägg av Micke_s »

När det gäller flash så finns ingen anledning att skohorna in om det inte är större volym. Utvecklingstiden och kostnaden av detta käkar fort upp det man sparar.

För lära sig c/c++ så kan arduino vara perfekt...
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: Är AVR rätt för mig om jag ska bygga små system?

Inlägg av Micke_s »

Går visst köra Java på vissa stm32

http://www.microej.com
Användarvisningsbild
jesse
Inlägg: 9233
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Är AVR rätt för mig om jag ska bygga små system?

Inlägg av jesse »

Ska man tala om snabb utvecklingstid så är nog 8-bitars AVR utmärkt så länge du inte ska köra mer avancerade displayer (med färg , rullmenyer etc.) eller ethernet/Wifi, CAN-bus eller andra mer krävande funktioner.
Användarvisningsbild
mrfrenzy
Co Admin
Inlägg: 14819
Blev medlem: 16 april 2006, 17:04:10

Re: Är AVR rätt för mig om jag ska bygga små system?

Inlägg av mrfrenzy »

Jag håller med mankan.
Kan man Java och har lite kämpigt med att plöja alla datablad och C-varianter är Arduino jättelätt att komma igång med och det finns olika hårdvara att välja på.

Den dagen efter 5-20 projekt när du stöter på begränsningar i språket kan du växla upp till "riktig C" och den utvecklingsmiljö som passar den hårdvara du kör för tillfället.
Mr Andersson
Inlägg: 1394
Blev medlem: 29 januari 2011, 21:06:30
Ort: Lapplandet

Re: Är AVR rätt för mig om jag ska bygga små system?

Inlägg av Mr Andersson »

Jag kan inte hålla med om arduino-rekommendationen. LGPL är knepig att använda i kommersiella produkter.
Användarvisningsbild
mrfrenzy
Co Admin
Inlägg: 14819
Blev medlem: 16 april 2006, 17:04:10

Re: Är AVR rätt för mig om jag ska bygga små system?

Inlägg av mrfrenzy »

Det är bara ett "problem" om man är så avancerad användare att man modifierar dom inbyggda hårdvarubiblioteken.
Man kan göra hur många projekt som helst och skriva hur mycket kod och egna bibliotek som helst utan att släppa något fritt så länge man inte modifierar bilblioteken som är medskickade.
Physically embedding an Arduino board inside a commercial product does not require you to disclose or open-source any information about its design.

Deriving the design of a commercial product from the Eagle files for an Arduino board requires you to release the modified files under the same Creative Commons Attribution Share-Alike license. You may manufacture and sell the resulting product.

Using the Arduino core and libraries for the firmware of a commercial product does not require you to release the source code for the firmware. The LGPL does, however, require you to make available object files that allow for the relinking of the firmware against updated versions of the Arduino core and libraries. Any modifications to the core and libraries must be released under the LGPL.

The source code for the Arduino environment is covered by the GPL, which requires any modifications to be open-sourced under the same license. It does not prevent the sale of derivative software or its inclusion in commercial products.

In all cases, the exact requirements are determined by the applicable license. Additionally, see the previous question for information about the use of the name “Arduino”.
Det som man behöver publicera är då dom modifierade biblioteken så andra kan använda det i sin Arduino-miljö. INTE källkoden till ditt projekt.
Mr Andersson
Inlägg: 1394
Blev medlem: 29 januari 2011, 21:06:30
Ort: Lapplandet

Re: Är AVR rätt för mig om jag ska bygga små system?

Inlägg av Mr Andersson »

The LGPL does, however, require you to make available object files that allow for the relinking of the firmware against updated versions of the Arduino core and libraries.
Detta gäller oavsett om du modifierat arduinobiblioteket eller inte.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Är AVR rätt för mig om jag ska bygga små system?

Inlägg av Al_Bundy »

Micke_s skrev:Jag hade valt cortex m istället idag. Debug-interfacet är snabbare och stabilare. Många fler microprocceccorer att välja. Lite mer register att sätta upp, men när man är inne i det så är det relativt enkelt.


Segger är bra debugger btw.

För små MCU:er så finns nxp kl03. Finns även med NFC t.ex. Nxp har också 5v varianter...


Cortex m4 har flyttal också(se tillverkarens info), kan vara bra vid PID mm
Men vad är det som är enkelt? Jag ska ju bara programmera i C när det kommer till processorer som ska göra det tråkiga jobbet.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Är AVR rätt för mig om jag ska bygga små system?

Inlägg av Al_Bundy »

mankan skrev:Al, du verkar lite fixerad vid språkval i min mening. Val av inbäddad system är så mycket mer, tillgänglig utvecklingsmiljö, debugger, libbar, communities, kostnader, vad man behöver just för uppgiften osv.
Följande video kanske ge ett uppvaknande när det gäller C++ och inbäddade system:

Nu ska jag svära i kyrkan: Jag skulle börja med C/C++ i Arduino-miljö, just för att enkelt komma igång med mindre inbäddade system utan att behöva bitfippla på varenda register för att få något att hända. Fördelen med detta är du kan köra på AVR, STM32, ESP32/8266, Teensy osv utan att bry dig om de delarna. När du sedan växt ur detta eller vill ha mer koll på vad som händer under huven, ja du kastar du Arduino-delarna och kör någon mer slimmad miljö alternativt bygger om Arduino till att passa det du vill göra.

Och för din del skulle jag rekommendera AVR för du verkar behöva få en förståelse för vad saker och ting i programkod, enkelhet, produktivitet kostar i flash och ramminne och CPU-kostnad. Och ta det som ett råd i välmening och inte som ett flame bait.
Jag är fixerad när det gäller att använda rätt saker som tar minst tid, men man får mest gjort.
Jag har kört Arduinio men gått över till Java för Raspberry Pi.

Ja. Jag tror också AVR skulle passa mig.
Micke_s skrev:När det gäller flash så finns ingen anledning att skohorna in om det inte är större volym. Utvecklingstiden och kostnaden av detta käkar fort upp det man sparar.

För lära sig c/c++ så kan arduino vara perfekt...
Men problemet med Arduino är att den är seg. Om du säger åt den att hålla en paus på 50 ms så gör den säkerligen 60 ms. Redan där brister Arduino.
Micke_s skrev:Går visst köra Java på vissa stm32

http://www.microej.com
Jag har tittat på denna och den låter intressant. Förutom att man måste betala för licensen vid SDK:n. Men det kanske är värt. Ska kolla priserna.
jesse skrev:Ska man tala om snabb utvecklingstid så är nog 8-bitars AVR utmärkt så länge du inte ska köra mer avancerade displayer (med färg , rullmenyer etc.) eller ethernet/Wifi, CAN-bus eller andra mer krävande funktioner.
CAN-bus är väll inget krävande. Det är ju bara ett protokoll.
mrfrenzy skrev:Jag håller med mankan.
Kan man Java och har lite kämpigt med att plöja alla datablad och C-varianter är Arduino jättelätt att komma igång med och det finns olika hårdvara att välja på.

Den dagen efter 5-20 projekt när du stöter på begränsningar i språket kan du växla upp till "riktig C" och den utvecklingsmiljö som passar den hårdvara du kör för tillfället.
Jag har kört Arduino under många år, men nu skulle man vilja gå över till rent C.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Är AVR rätt för mig om jag ska bygga små system?

Inlägg av lillahuset »

Det finns en gammal väletablerad sanning som går något i stil med "En genväg är ofta en senväg." och det gäller troligen Arduino, STCube och liknande.

Eller om man tar en annan gammal sanning "Det kan vara varmt och skönt att pissa på sig men efter ett tag blir det kallt och obehagligt.".
Användarvisningsbild
mankan
EF Sponsor
Inlägg: 905
Blev medlem: 18 juli 2015, 11:23:22
Ort: Linköping

Re: Är AVR rätt för mig om jag ska bygga små system?

Inlägg av mankan »

Ok, det låter som du redan växt ur Arduinomiljön alternativt gett upp för lätt (dvs förlitat dig på delay/sleep istf för köra event/timer-styrt).

Då är väl nästa steg att köra en gcc/g++ för AVR och en programmerare för AVR (vilket kan väl vara en Arduino om jag minns rätt)?

CAN: Det går säkert att bit-banga CAN men då du är snabbt tillbaka till tidsåtgången för att få något utfört men ifall du skulle ge dig på det så skulle du lära dig en massa och kanske tom kunna lösa en uppgift med halva hårdvarukostnaden vilket kan vara intressant ifall volymen är tillräckligt stor.

För att kunna ge bättre råd så skulle jag behöva veta syftet med kunskapstörsten. Vill du blir mer anställningsbar? I så fall av vem? Starta eget och göra egna produkter som säljs i 10-tal eller i 100000-tal? Bli konsult med specialisttimlön?
Användarvisningsbild
mrfrenzy
Co Admin
Inlägg: 14819
Blev medlem: 16 april 2006, 17:04:10

Re: Är AVR rätt för mig om jag ska bygga små system?

Inlägg av mrfrenzy »

Al_Bundy skrev: Jag har kört Arduino under många år, men nu skulle man vilja gå över till rent C.
Kanon! Då kan du ju i princip redan det mesta av C.
AVR / PIC eller STM32 funkar säkert lika bra vilken du tycker är smidigast att jobba med. Bara ta ner Atmel-studio och testa blinka en led.
Skriv svar