Hírek:

Fontos tudnivalók a migrációval kapcsolatban, Kérlek nézd meg a Régi fórumról új fórumra való költözés

Main Menu

Elektronika

Indította gaben, 2025 február 03, 18:18

Előző téma - Következő téma

s7manbs8

Ha nagyon kell a sebesség, a lényegi function-t meg beleteszed ASM-ba, azt a pár tizen valahány sort és kész is van a tökéletes gyorsan megírható olcsó megoldás.

s7manbs8

Csak mivel minden ember más pénz, tudás és időkészlettel rendelkezik, abból dolgozk, amije van. :)

Pont ez a szépsége az egésznek.

Autotec1

Kedves hozzászólok
- nem gondolom hogy túlbonyolitottam a kérdést. kb 164 féle előtolás van a gépemen, de sajnos ezt a cserekerekek változtatásával tudja produkálni.
Nem fiatal a gép. Tehát meglehetősen zajosan működnek a cserekerekek amit menetvágásnál elviselek de nem szeretném állandóan ezt hallgatni
Mivel a főorsó rögzithető ezért vésni is lehetne igy a gépen.
Egy potméteres előtolásállítással megoldható lenne egy jobb minőségü forgácsolás szebb felület könnyenbben takaritható szép formás forgács, vagy esetleg egy nemkivánt rezgést is lehet korrigálni
- nem szeretnék CNCt mivel veterán autóalkal foglalkozok nem is célszerű.
Szakmai hozzáértésemet látatlanba kritizálni nem szép dolog.
Egy kérdést tettem fel amire ötleteket ,de inkább kész válaszokat vártam,  valami ilyen formában:
'' megtudom épiteni a kért elektronikát vegyél egy....... motort és egy ........ valamit. munkadijam ..........Ft alkatrészek ára ..........
Küld át a gép paramétereit az előtolómotor fordulatát tól ig
Szerencsére kaptam nemrég egy hasonló tartalmú levelet.
Válaszokat megelőzendő:
Igen tudom nem szokás esztergán vésni
Nem nem rakok fel bordásszijjat, stb
Igen tudom E3N hez van ilyen készlet

B.Zoltán

Ebben igazad van. Sokszor gondoltunk már rá, hogy csak az időkritikus dolgokat írjuk Assembly-ben, a többit, LCD kiíratásokat, menüt, stb. pedig C-ben.

A fiam kutakodott is a neten ebben a témakörben, hogy hogyan lehetne az Arduino C programba Assembly-t beágyazni, de nem talált használható infót.

Ezt a menetvágó progit már nem írjuk át C-be, de későbbiekre nézve, és arra, hogy majdnem mindent C-ben írnak az emberek, mindenképpen érdekel a dolog.

Én a fiammal az évek alatt eddig mindent Assembly-ben írtunk, de ezek egyszerűbb kontrollerek és programok voltak, meg se közelíti pl. egy 3D nyomtató program bonyolultságát, ilyennek nyilván neki se állnánk Assembly nyelven. Ezért mi is át akarunk térni lassan a C-re, de jó lenne, ha az Assembly is megmaradhatna mellette kiegészítésként.

De hogy lehet Assembly-t beilleszteni a C-be, ebben ha tudtok segíteni, azt megköszönnénk :)

(pl. annak idején Pascal-ba egyszerűen be lehetett illeszteni, milyen jó lenne, ha hasonlóan meg lehetne oldani itt is)

s7manbs8

Melyik ASM compilerrel dolgoztok ?


s7manbs8

Itt vannak rá megoldások, példák, lehet azt találni nem keveset, persze magyarul nem tudom mik vannak, vannak e erre leírások.

keri

Valójában pont hogy célszerű a CNC-sítés az igényeidhez.
Jelen esetben nem különbözne a programozható előtolástól, csak a CNC-re van kész megoldás, a te igényeidre nincs.
Én is számtalanszor dolgozok egyedi alkatrészeknél úgy hogy elemi megmunkálási fázisokat adok meg. Nem csak sorozatgyártásnál jó, a CNC hanem az automata előtoláshoz is.
Sőt még az irányváltást sem neked kell kezelni, csak megmondod hogy szedjen le 3mm-ert, 0,5mm-es fogásokkal, 50mm/perc sebességgel, és megcsinálja.

Szakértelmed. Bocs, de látatlanban is tudom hogy nem sok közöd van a mikrovezérlők programozásához, különben nem minket kérdeznél :)
Máskülönben senki nem szólt le, vagy minősítette a szaktudásodat. Mindenhez természetesen nem lehet érteni, de elektronikailag megvalósítani az amit te elképzeltél túlkomplikált és nem célszerű kifejleszteni, amikor létezik egy univerzálisabb kész megoldás, olcsón.
Persze ez utóbbi sem egyszerű, de megveszed a CNC vezérlőt, a meghajtót, a motorokat, valakivel felprogramoztatod, aztán már csak mechanikázni kell.

Tehát én ezt javaslom neked: olcsó kínai CNC építő elemekből, át lehet alakítani.
Vagy ha ennyire nem akarsz komplex dologba belefogni, akkor tegyél le a szinkronizált előtolásról és szimplán egy DC motorral és kínai PWM szabályzóval potméterrel állítva mozgasd a vonóórsót a fogaskerekek helyett, amikor meg menetet akarsz vágni akkor használd továbbra is a fogaskerék készletet.
A DC motor is elég egyenletesen forog, főleg áttétellel, és a gyors irányváltás is egyszerű rajta.

s7manbs8

Akár olyat is lehet csinálni, hogy fogtok két processzort, egyikre C-ben megírva azokat a részeket amiket abban könnyű, gyors, nem időkritikus, a másikban mardhat az ASM nyelvű bármi, és a kettőt összekötitek valamelyik protokollal, soros vonalon, I2C-vel, SPI busszal, vagy amivel akarjátok és akkor kész is van, nem kell az illesztéssel kinlódni, meg újat tanulni, mert AASM-ból is egy soros porton való küldés fogadás az alapismeret,
meg C-ben is.

keri

Arduino fejlesztő alatt még nem próbáltam ilyet.
PIC mikroC alatt pedig volt rá lehetőség.

Autotec1

Köszi az infókat.

B.Tibor

Szia elektron

B.Zoltán fia vagyok. Belépek én is a képbe :)

Annak idején gyors és pofonegyszerű megoldást kerestem, nem akartam felrakni csili-vili nagy AVR Studio-t és hasonlókat, ezért egy Command line (DOS parancssoros) assemblert találtam ASM fordításra, és mivel bevált, amire nekem kell, arra pont jó, ezért máig ezt használom. Egyetlen EXE file-ból áll, neve: GAVRASM

B.Tibor

Köszönöm a linket.
Múltkor én is kb. így kerestem rá, és több oldal ismerős is, de valahogy nem találtam konkrét példát C Assembly kevert programra, inkább több oldalas beszélgetéseket, amiből nem tudtam kihámozni a lényeget, és nem volt akkor több időm erre.

Most a kereső stringhez hozzáírtam hogy example, és rögtön ki is jött két példaprogram, amivel el lehetne indulni.
(Furcsa strukturája van az inline assemblernek, és még nem értem, mik azok a %-ok, sajnos nem magyarázza meg...)

asm volatile (
    "mov r18, %D2 \n"
    "mov r20, %C2 \n"
    "mov r21, %B2 \n"
    "sbi %0, %1   \n"
Link

Ha lesz több időm, foglalkozok vele.

s7manbs8

Szia

Van többféle, van amelyiket hozzá lehet linkelni is az Arduino C-hez, meg az Arduino-n belül is lehet használni inline assembler kódot pl.

Így van, ahogy másnál is, itt sem illeszkedik minden mindenhez, a hozzá valót lehet használni aránylag könnyebben.

Ha másképp nem megy csak újat kell megtanulni használni.

s7manbs8

Érdemes megkeresni azt a kombinációt, amiben ez az összeillesztés jól megoldható, neten példákat amire aránylag sokat lehet találni, úgy lehet jól haladni, meg amelyik azonkívül szimpatikusnak tűnik.