Behöver någon hjälp med programmering?

Planering och tankar kring eventuella framtida projekt.
egh01
Inlägg: 58
Blev medlem: 18 september 2003, 11:25:33

Behöver någon hjälp med programmering?

Inlägg av egh01 »

För att gå rakt på sak så har jag många projekt och idéer i huvudet som jag skulle vilja genomföra men jag har insett att mitt tålamod för elektriska kretsar som man knappt kan se och för lödning som aldrig blir som den ska inte riktigt räcker till. Det jag tycker är roligast är mjukvaruprogrammeringen. Så om någon har nått projekt på gång där lite hjälp inom det området skulle kunna behövas så kan vi ju alltid se om det finns något jag kan göra. Det jag har pysslat med förut är till största delen C/C++ och Assembler för PIC-kretsar men att ta tag i något nytt är aldrig fel.
Sm5xxw
Inlägg: 47
Blev medlem: 5 augusti 2004, 21:32:48
Ort: Norrköping

Inlägg av Sm5xxw »

Det låter toppen :) Alltid kul när folk vill hjälpa till.
Jag och en kompis håller på och bygger ett radio- och datorstyrt lok i modell, som projektarbete i skolan. I fjärrkontrollen ska det sitta ett Basic stamp 2 och ett i loket. Men jag skulle även behöva minst en PIC krets i loket som sätter på kompressorn när trycken sjunker under ca 1 Bar. Kompressorn ska vi ha för att leda luft i slangar till vagnarna i tåget, så man kan bromsa på alla vagnar, som på riktigt.

Som givare funderar jag på att anväda en analog mätare som följde med kompressorn. Man kanske kan ta bort plasten från mätaren och fixa dit en Ir diod och en IR mottagare, som läser av var nålen är. När nålen sjunker till ett visst ställe så går kompressorn igår, i ett visst antal sekunder.

Är det svårt att programmera detta? Det låter inte så svårt, i alla fall inte om man programmerade i Basic, vilket är det enda språk jag kan.


Sen skulle jag eventuellt vilja ha en krets som känner av när man närmar sig en tågvagn. Med ir diod och mottagare som givare. När man kommer ca 20 cm ifrån vagnen så bromsar loket och när man nuddar vagnen så kopplas den fast automatiskt, och så kör loket iväg igen.

Alltid kul med så mycket prylar som möjligt på loket. Någon annan som har något förslag på någon rolig krets jag kan bygga till loket?

Funderade på en fläkt som startas när motor eller kompressorn blir för varm... kan väll heller inte vara så svårt att programmera och bygga?
Micke_71
Inlägg: 947
Blev medlem: 18 september 2004, 22:47:23

Inlägg av Micke_71 »

Jag har de närmaste veckorna här slitit mitt hår för att programera hårdvaran under Borland Delphi i realtid o behålla ett stabilt windows. Det är näst intill klart nu, tror jag.... Lite assembler rutiner hade ju kanske inte skadat.

Ev så kommer jag i mitt projekt att lämna bort samplingen av 4st analoga signaler till en mikro typ Atmels AVR. Samplingshastigheten ska gå i minst 4x2x100s/sek. Dvs 4 analoga signaler ska samplas parallellt ifrån 4st enkanals 12 bitars seriella AD omvandlare. 2 samplingar ska ske så kort tid ifrån varandra som möjligt. Detta ska sedan upprepas minst 100ggr sekunden. Gärna 1000 för att sedan räkna medelvärde på 10 st värden. Mikron ska sedan skicka över värdena till en PC.

Innan jag går vidare så måste jag dock få hem rätt delar då de små tester jag hittills gjort på den analoga biten har visat på att jag kan få slåss med en hel del problem som kommer att innebära en massa mera analog teknik än vad jag hade önskat.

Hemlighets fullt? En skyttesimulator. En IR-led sitter vid målet och en sensor bestående av 4st foto dioder bakom en bländare fungerar som en positions detektor för det infallande ljuset. Belysningsstyrkan som träffar fotodioderna ligger i området 2-10uW/cm2 så omgivande ljus blir ett problem. Dock så ska det skärmas av så att så lite ströljus som möjligt kan nå dioderna. En sampling ska ske med ir dioden släckt och en med den tänd. Då kan man enkelt räkna bort det omgivande ljuset. Dock så får inte den relevanta signalen dränkas i det omgivande ljuset så att upplösningen blir för låg.

Exakt 100 samplingar sekunden? Ja visst man slår ihop dessa värden och räknar medel typ nr1 + nr2=x, nr2 + nr3=X, nr3 + nr4=X. Då har jag funderat ut det så att man låter 50Hz brummet i ljuset släcka ut sig själv pga 180grader fasförskjutning i mätningarna.

Funkar inte det så måste signalen moduleras med kanske 20kHz och sedan bandpassförstärkare och allt annat som är jävligt att få o funka i praktiken. Då ger jag nog upp. :(

Mikael
Användarvisningsbild
Eson
Inlägg: 397
Blev medlem: 30 september 2004, 08:31:51
Ort: Huddinge - STHLM
Kontakt:

Inlägg av Eson »

Vi håller på och bygger en simpel plotter i skolan, vi har en primitiv programvara men skulle vilja utveckla det till mer användarvänligt. Det är dock VB som styrkortet använder. Men det är inte allt för svåra grejer skulle jag tro, mest att man skriver in tex centimeter istället för antal steg motorn ska ta osv.

Ingen av oss kan programera över huvudtaget, så all hjälp behövs.
Micke_71
Inlägg: 947
Blev medlem: 18 september 2004, 22:47:23

Inlägg av Micke_71 »

Har ni kikat på mjukvara för CNC styrningar som finns gratis på nätet. Då får ni även en kurs att programera CNC maskiner på kuppen och utan våldsamma krascher. Då programerar man vektorer i mm.

Mikael
egh01
Inlägg: 58
Blev medlem: 18 september 2003, 11:25:33

Inlägg av egh01 »

Ingen som har funderat på att bygga sig ett eget litet datorsystem med in- och utenheter (inkl enhet för lagring av data). Något i stil med Tangentbord-PIC-LCD-Hårddisk. Jag kom så långt att jag anslöt en gammal 4-raders LCD display och ett tangentbord till en PIC och skrev lite ASM kod till det hela så att det gick och blippa fram lite tecken på displayen samt att jag kodade en klockfunktion för att visa tiden. Jag började även skriva kod för att kunna läsa och skriva till en ATA eller ATAPI hårddisk men jag orkade aldrig ta tag i det elektriska för att ansluta en till mitt system.
Det är ingen som har planer på att göra något liknande?


Micket_71: Har du tips på några speciella sidor som erbjuder lättförstålig "CNC-kod"? Behövde du hjälp med något i projekt? Låter som du har det mesta under kontroll :)
matseng
Inlägg: 2360
Blev medlem: 16 september 2003, 17:18:13
Ort: Dubai, United Arab Emirates
Kontakt:

Inlägg av matseng »

Jag gjorde en likande, fast jag bytte ut hårddisken mot ett nätverkskort.

Bild
egh01
Inlägg: 58
Blev medlem: 18 september 2003, 11:25:33

Inlägg av egh01 »

Ett nätverkskort är ingen dum idé. Använde du det hela till något eller va det bara en kul grej? Du skrev allt i asm eller ligger du inne på en kompilator för något högre språk?

Vad är det för anslutning till tangentbordet? Jag använde mig av ett helt vanligt med PS/2 anslutning.
matseng
Inlägg: 2360
Blev medlem: 16 september 2003, 17:18:13
Ort: Dubai, United Arab Emirates
Kontakt:

Inlägg av matseng »

Om jag inte minns helt fel så skrev jag koden i C med GCC-kompilatorn.

Det är ett Ericsson Chatboard (köpt på Tradera för 10 kr) som jag lödde bort det ytmonterade kontrollerchippet från, och sedan scannar tangentbordet manuellt som en X-Y matris direkt från AVR'en.

Tanken var att jag skulle använda den som en terminal (kopplad via nätet till min linuxserver hemma) sittande vid vår cd och dvd-samling för att kunna söka efter skivorna och även markera/anteckna när folk lånar av oss. Men det bidde aldrig nåt färdigt av det. Jag fick dock till en IP-stack som pratade ARP, ICMP och UDP.
Micke_71
Inlägg: 947
Blev medlem: 18 september 2004, 22:47:23

Inlägg av Micke_71 »

Jag kan ev att behöva hjälp med assembler programering till AVR. Först av allt så ska jag se till att få elektroniken dit jag vill och få det att funka med en PC som tar hand om allt. Sedan kan det bli så att jag överlåter samplingen till en AVR som sedan ska kommunicera med en PC på lämpligt modernt sätt. (USB, blåtand eller dylikt.)

Jag vet inte riktigt om jag kan påstå att det finns sidor som ger bra hjälp med CNC kod. Men kan du programmera mikros och behärskar något programspråk för vanliga datorer så lovar jag dig att CNC kommer att vara en barnlek för dig.

Nu så kör jag en maskin som har Heidenhain dialog programering vilket är väldigt enkel. Emellanåt så programerar jag lite ISO och är även utbildad i ISO. ISO språket är mera universiellt med Heidenhains dialog är överlägset till de små serier vi gör då vi programmerar till 99% direkt vid maskinen.

Grundläggande är att man går från punkt till punkt med linjära och cirkulära rörelser.

Exempel heidenhain

TOOL DEF 1 L+0.000 R+31.5
TOOL CALL 1 Z S800
L Z+200 RO F9999 M03
L X+40 Y+20 R F M
L Z-20 R F M
L Y-10 RL F M
L X-2800 R F500 M08
L Y+20 R0 R0 F9999 M09
L L+200 R F M
STOP M05

Tool def är verktygs definitionen med längd o radie angiven

Tool call kallar på ett verktyg, varvtal anges under S och den verktygsparallella axlen anges, här Z.

L står för linjär rörelse

R är radiekompensering vänster, höger eller ingen 0

F är matningen i mm/min. 9999 den den snabbaste i det här fallet, dvs transport. Fräser gör vi med 500 här.

M koder finns det en hel uppsjö av och de är lika för såväl ISO som heidenhain med vissa undantag. De mest vanliga är följande. Det finns nästan 100st olika men många funkar bara i vissa maskiner.

M02=programslut
M03=Spindelstart medurs
M04=Spindelstart moturs
M05=spindelstopp
M08=kylvatten på
M09= kylvatten av

Vill man lägga in en cirkulär rörelse så måste man ange CC som stör för cirkelcentrum. ex CC X+0 Y+0 och sedan positioneringen C X+20 Y-20 DR+ R F M som då säger till maskinen att gå cirkulärt till slutkordinaterna med rotations rikting +, (DR+)

Man måste inte programera i absoluta värden som i detta exempel. Man kan göra detta i polära rörselser, inkrementala rörelser för att nämna de mest vanliga.

För att lägga in en loop eller kalla in en rutin så anger man en LBL o tilldelar den ett nummer. Labeln avslutas med LBL 0. För att kalla på labeln så har man kommandot CALL LBL 1 REP 10 för att kalla label1 10 ggr. Använder man en inkremental rörelse i ex X o sedan borrar ett hål o sedan har det i en label man upprepar så räcker det med några få block för att borra en hel rad med hål på ett fåtal programrader. Lägger man sedan hela klabbet utom borrcykeln i en label så kallar man in samma label för att gänga samma hål.

Hela strukturen blir fruktansvärt lik basic. Kan man det så har man 99% gratis.

Men jag insåg här att ju mera jag beskriver desto mera kommer jag på. Det här är en liten bit av språket och det krävs nog en hel sajt för att ta upp alltihop.

Ni som bygger elektronik o kan programera PC kan enkelt på några veckor lära er att fixa denna programering långt mycket bättre än de flesta CNC operatörer. När jag gick AMu då det inte fanns jobb längre inom elektronik längre här i stan så hade jag det ganska lätt för mig tack vare tidigare erfarenheter av Basic. Inom ett par veckor så gjorde jag program som våra lärare hade problem med att fixa. Att man sedan haft mycket trigonometri i el matten gjorde inte saker sämre. Idag så är jag den som fixar den biten bäst utan hjälp av CAD. Ofta så ritar dom fel i caden och när dom kommer ut med kordinaterna så har jag redan löst det korrekt med miniräknaren. :roll:

Fråga på om det är något särskilt i just den biten du undrar över. Dock så är jag inte så värst färsk i ISO idag så makron under ISO typ Fanuc har jag totalt glömt bort. Det grundläggande fixar jag dock o lite til.

Mikael
Euphaz
Inlägg: 49
Blev medlem: 18 juni 2004, 23:21:07

Inlägg av Euphaz »

egh01 skrev:Ingen som har funderat på att bygga sig ett eget litet datorsystem med in- och utenheter (inkl enhet för lagring av data).
Jo, en handterminal med TTY/COMport, tangentbord, LCD och minne. Den skulle kunna fungera som en terminal på olika maskiner, modem etc. Med något PC program skulle man kunna skicka data till enheten så man kan arbeta offline på lager och andra arbetsplatser, sedan skicka tillbaka registrerade data till centraldatabasen. Den kan vara en datalogger, kolla processer, sedan skicka till PC.

Om den klarar att hämta data från/skicka till Excel skulle det kunna bli en hit på företag.
Användarvisningsbild
cykze
EF Sponsor
Inlägg: 1539
Blev medlem: 8 april 2004, 10:40:28
Ort: Uppsala

Inlägg av cykze »

Micke_71 skrev:Nu så kör jag en maskin som har Heidenhain dialog programering vilket är väldigt enkel.
Bara en ot-fråga. Vet du om det har någonting att göra med det tyska företaget Heidenhain, som bl a(?) tillverkar vinkelgivare?
Micke_71
Inlägg: 947
Blev medlem: 18 september 2004, 22:47:23

Inlägg av Micke_71 »

Jo det liksom har med varandra att göra. Det är samma företag. Heidenhain tillverkar vinkelgivare, linjära mätskalor o mätsystem till dessa. Dom tillverkar också CNC styrsystem och är stora på system till fräsmaskiner. Deras starka sida är programeringsspråket. Oftast så finns dom INTE i system som ska sitta i fleroperationsmaskiner vid masstillverkning utan där är Fanuc o Siemens vanligare.

Mikael
Användarvisningsbild
cykze
EF Sponsor
Inlägg: 1539
Blev medlem: 8 april 2004, 10:40:28
Ort: Uppsala

Inlägg av cykze »

Jaha, det är så det ligger till. Tack för infon!
Skriv svar