Hírek:

Fontos tudnivalók a migrációval kapcsolatban, kérlek olvasd el:

A régi fórumról áthozott hozzászólásoknál a felhasználó neve adatvédelmi megfontolásokból véletlenszerűen generált értékekre lett  lecserélve. Ez akkor tud a valódi értékre visszaállni, ha az adott felhasználó a régi fórumon nyilatkozik, hogy beleegyezik az adatainak az új fórumra továbbításához, majd ezután itt a régi felhasználónevével és email címével regisztrál.
8~20 óra között, 1~30 percen belül megtörténik a jóváhagyás, 30 percenként ellenőrizd email fiókodat (SPAM-ot is) mindenképp kapsz mail-t, a sikeres regisztrácioról, vagy a hibáról és, hogy mi a teendőd.
Nézd meg  "A régi fórumról, az új fórumra költözés útmutatót."
A régi fórumon használt email címmel de más felhasználói azonosítóval érkező regisztrációs kérelmek törlésre kerűlnek.

Main Menu

Elektronika

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

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

Révész Richárd

Akkor minden adott, pikk-pakk összedobod
Ezekben van gyorsszámláló, encoder A-B jelét kezeli
Szép kis DRO csinálható

b3bhzy9ib

Sziasztok!
Segítségre lenne szükségem egy nyomtatott áramkör tervezésében. Szentes közelében élek, és olyan fórumtársat keresek, aki jártas a PCB tervezésben és tudna segíteni a projektem megvalósításában. Ha van tapasztalatod ezen a téren és szívesen segítenél, kérlek vedd fel velem a kapcsolatot!
Köszönöm!

ANTAL GÁBOR

Keresek olyan kollégát aki ért az OTP  (one time programmable )  memóriák írásához .  Az külön nyeremény lenne ha van hozzá programozója
 ( az én értelmezésem szerint egy adott ideig kell egy adott  feszültségű jelet kiadni és ezzel a tokon belül tönkre tesznek  egy részt )  Talán maga a programozó házilag is elkészíthető .  
 A kommunikáció SPI

OlyFlyer

Mi a kérdés? Milyen segítség kell? Én Szentestől messze lakom, de lehet hogy segíteni tudok.

Én ezt használom: EasyEDA a neve és szerintem jó, ha rendelni akarsz, szép NYÀK-ot, jó áron, gyorsan szállítanak.

onagy

Mi lenne a pontos típusa az spi eepromnak/mikrovezérlőnek? Programozó van többféle.
Üdv.
O.

ANTAL GÁBOR

Köszönöm hogy válaszoltál . Az OTP egy AS5047D (AMS  gyártmányú ) Ic ben
 Maga az Ic egy 14bites mágneses rotari encoder  (A,B,Z ill U V W hall jeleket szolgáltat .)

 Nekem csak egy két dolgot kellene felprogramozni ( felbontás , motor póluspárszám )
 Tóth Jóska ( TBS team ) közben talált valami Arduinos megoldást  amit átküld nekem . Folytasd kérlek ha neked is van infód

onagy

Nem sok sikerrel jártam ezügyben, a Leaptronix SU-320 -as programozóm az AMS-től csak az AS7000-es alkatrészt ismeri. Még utánnanézek azért...
Üdv.
O.

onagy


onagy

Beleolvastam az adatlapba, valóban vannak egyszer programozható (OTP - one time programmable) regiszterek, pl nullpont stb. Semmi hókuszpók nem kell feszültségekkel, a 25. oldalon leírja ennek módját, a gyári fejlesztőkészlet ezt elintézi.
O.

ANTAL GÁBOR

Köszönöm neked és a háttérben dolgozó Tóth Józsefnek .(TBS team ) .  Komoly előrelépés van az ügyben mert Józsi Angliában dolgozó fia pár napon belül postáz egy programozót

svejk

Valaki fiókjában nem lapul véletlen 2 db MJE13003 tranzisztor?
Nagyon megköszönném ha kisegíteni valaki...

Régebben a kompakt csöves lámpákban előszeretettel használták őket.

TBS-TEAM

Katalogus szerint kiváltó típusok: MJ4361, BUX85
József

svejk

Köszönöm, megoldódott találtam én is itthon egy régi kompakt csövet.

VighLajos

[#t19p196116#]
Szevasztok!
Múlt év őszén LoneWolf társunktól vettem ilyen tápegységet PWR350A).
Segítséget kérek, a bekötése kellene. Valaki már elküldte, ha jól emlékszem, de nem találom
Köszönettel:
Lajos

dtb

Megkérdeztem a főokost(AI), mit lép erre, itt a válasza:
Az AS5047D egy mágneses abszolút forgó enkóder IC, amely SPI és ABI/PWM interfészeken keresztül kommunikálhat. Az Arduino-hoz való csatlakoztatás és programozás SPI-n keresztül a legegyszerűbb megoldás.
AS5047D és Arduino kapcsolat:
    Tápellátás:
        VCC: 3.3V vagy 5V (a konkrét verziótól függően, de a legtöbb esetben 3.3V-os)
        GND: GND

    SPI kapcsolat:
        CS (Chip Select) → Arduino bármelyik digitális PIN-je (pl. D10)
        SCK (Clock) → Arduino SCK (D13 az Uno-n)
        MISO (Data Out) → Arduino MISO (D12 az Uno-n)
        MOSI (Data In) → Arduino MOSI (D11 az Uno-n)

Adatkommunikáció: Az AS5047D SPI interfészen keresztül olvasható, 16 bites regiszterekből lehet kiolvasni az adatokat. Fontos megjegyzések:
Az AS5047D 14 bites felbontású, tehát 0-16383 között ad vissza értéket, amelyet fokra lehet skálázni (érték * 360 / 16384).
    Az SPI MODE1 beállítást kell használni.
    Az adatokat 16 biten kell küldeni és fogadni.
Alternatív interfészek:
    ABI/QEI (kvadratúrás kódoló interfész) → Lehetőség van inkrementális módra, ami például motorok esetében hasznos.
    PWM → Analóg bemeneten keresztül olvasható jelet biztosít.

EEPROM írásának folyamata: Az AS5047D EEPROM írása SPI-n keresztül történik, és több lépésből áll:
    Belépés a programozási módba
    Regiszter módosítása
    Adatok EEPROM-ba égetése
    Programozási mód kikapcsolása
    Újraindítás vagy ellenőrzés

A következő regisztereket lehet módosítani az EEPROM-ban:
Regiszter cím   Leírás
0x0016   Zero Position (nullpont beállítása)
0x0018   Ipari mód és egyéb beállítások
0x0019   Agilis mód konfiguráció
0x001A   PWM beállítások

1. Felbontás beállítása
A felbontás (resolution) beállítását az IC automatikusan kezeli, mert a kimeneti adatok 14 bitesek, ami azt jelenti, hogy:
    0–16383 közötti értéket ad vissza,
    Ez 0–360° között interpolálható, tehát a legkisebb elérhető felbontás 0.022°.

Ez az SPI interfészen keresztül mindig fix érték, viszont a kvadratúrás (ABI) kimeneten változtatható az impulzusok száma. A 0x0019 regiszter (AGC regiszter) lehetőséget ad a kvadratúrás impulzusok beállítására, de ezt EEPROM-ba égetni nem lehet, csak RAM-ból működik.

2. Motor pólusok száma (Pole Pairs)
A motor pólusainak számát az 0x0018 regiszterben (CONFIG) lehet beállítani EEPROM-ban.
Bit   Jelentés
11-8   Motor póluspárok száma (PP) (0–15 között)

Ha például egy 7 póluspárú motorhoz szeretnéd beállítani, akkor az érték 0x0700 lesz az EEPROM-ban.


#include <SPI.h>

#define CS_PIN 10  // Chip Select (CS) láb

void setup() {
    Serial.begin(115200);
    pinMode(CS_PIN, OUTPUT);
    digitalWrite(CS_PIN, HIGH);
    SPI.begin();
    SPI.setDataMode(SPI_MODE1);
    SPI.setClockDivider(SPI_CLOCK_DIV16);
}

void writeRegister(uint16_t reg, uint16_t data) {
    uint16_t command = (reg & 0x3FFF) | 0x8000;  // Írási parancs
    digitalWrite(CS_PIN, LOW);
    delayMicroseconds(10);
    SPI.transfer16(command);
    delayMicroseconds(10);
    SPI.transfer16(data);
    digitalWrite(CS_PIN, HIGH);
    delayMicroseconds(10);
}

void writeEEPROM(uint16_t reg, uint16_t data) {
    writeRegister(0x0003, 0x0080);  // EEPROM írás engedélyezése
    delay(10);

    writeRegister(reg, data);  // Adat írása
    delay(10);

    writeRegister(0x0003, 0x0000);  // EEPROM írás letiltása
    delay(10);
}

void loop() {
    Serial.println("EEPROM írás kezdődik...");
   
    uint16_t polePairs = 7; // Itt állítható be a póluspárok száma
    uint16_t configData = (polePairs << 8);  // 0x0018 regiszterhez
    writeEEPROM(0x0018, configData);
   
    Serial.println("EEPROM írás kész!");
    while (1);
}

Fontos megjegyzések:
    A póluspárok száma 0–15 között állítható.
    Az EEPROM írás maradandó, de újraírható (kb. 1000 ciklusig).
    Az EEPROM módosítása után újra kell indítani az IC-t.
    A felbontás SPI-n keresztül mindig 14 bit, tehát ezt nem kell állítani.

(Szívesen! :-) )