Плазменная резка + mach3

shad71

Доброго времени суток!
Не могу загрузить даташиту на контроллер pcd8544. Управляется по SPI.
Вот код на Сях с поддержкой русского языка.
Покупаю по 11 гривен в сети сотовой связи MOBILIZATION. Контакты прямо на стекле, только паяй.

#define nok_sclk RB7 // nokia lcd sclk
#define nok_sda RB6 // nokia lcd sda
#define nok_dc RB5 // nokia lcd d/!c
#define nok_cs RA2 // nokia lcd !cs
#define nok_res RA1 // nokia lcd !res

#define DIM(a) (sizeof(a) / sizeof(a[0])) //определяем размер массива

//***********************************************************************************
const char table[820] = { 0x00,0x00,0x00,0x00,0x00, // 20 space ASCII table for NOKIA LCD: 96 rows * 5 bytes= 480 bytes
0x00,0x00,0x5f,0x00,0x00, // 21 ! Note that this is the same set of codes for character you
0x00,0x07,0x00,0x07,0x00, // 22 " would find on a HD44780 based character LCD. 😃
0x14,0x7f,0x14,0x7f,0x14, // 23 # Also, given the size of the LCD (84 pixels by 48 pixels),
0x24,0x2a,0x7f,0x2a,0x12, // 24 $ the maximum number of characters per row is only 14. 😃
0x23,0x13,0x08,0x64,0x62, // 25 %
0x36,0x49,0x55,0x22,0x50, // 26 &
0x00,0x00,0x07,0x00,0x00, // 27 ’
0x00,0x1c,0x22,0x41,0x00, // 28 (
0x00,0x41,0x22,0x1c,0x00, // 29 )
0x14,0x08,0x3e,0x08,0x14, // 2a *
0x08,0x08,0x3e,0x08,0x08, // 2b +
0x00,0x50,0x30,0x00,0x00, // 2c ,
0x08,0x08,0x08,0x08,0x08, // 2d -
0x00,0x60,0x60,0x00,0x00, // 2e .
0x20,0x10,0x08,0x04,0x02, // 2f /
0x3e,0x51,0x49,0x45,0x3e, // 30 0
0x00,0x42,0x7f,0x40,0x00, // 31 1
0x42,0x61,0x51,0x49,0x46, // 32 2
0x21,0x41,0x45,0x4b,0x31, // 33 3
0x18,0x14,0x12,0x7f,0x10, // 34 4
0x27,0x45,0x45,0x45,0x39, // 35 5
0x3c,0x4a,0x49,0x49,0x30, // 36 6
0x01,0x71,0x09,0x05,0x03, // 37 7
0x36,0x49,0x49,0x49,0x36, // 38 8
0x06,0x49,0x49,0x29,0x1e, // 39 9
0x00,0x36,0x36,0x00,0x00, // 3a :
0x00,0x56,0x36,0x00,0x00, // 3b ;
0x08,0x14,0x22,0x41,0x00, // 3c <
0x14,0x14,0x14,0x14,0x14, // 3d =
0x00,0x41,0x22,0x14,0x08, // 3e >
0x02,0x01,0x51,0x09,0x06, // 3f ?
0x32,0x49,0x79,0x41,0x3e, // 40 @
0x7e,0x11,0x11,0x11,0x7e, // 41 A
0x7f,0x49,0x49,0x49,0x36, // 42 B
0x3e,0x41,0x41,0x41,0x22, // 43 C
0x7f,0x41,0x41,0x22,0x1c, // 44 D
0x7f,0x49,0x49,0x49,0x41, // 45 E
0x7f,0x09,0x09,0x09,0x01, // 46 F
0x3e,0x41,0x49,0x49,0x7a, // 47 G
0x7f,0x08,0x08,0x08,0x7f, // 48 H
0x00,0x41,0x7f,0x41,0x00, // 49 I
0x20,0x40,0x41,0x3f,0x01, // 4a J
0x7f,0x08,0x14,0x22,0x41, // 4b K
0x7f,0x40,0x40,0x40,0x40, // 4c L
0x7f,0x02,0x0c,0x02,0x7f, // 4d M
0x7f,0x04,0x08,0x10,0x7f, // 4e N
0x3e,0x41,0x41,0x41,0x3e, // 4f O
0x7f,0x09,0x09,0x09,0x06, // 50 P
0x3e,0x41,0x51,0x21,0x5e, // 51 Q
0x7f,0x09,0x19,0x29,0x46, // 52 R
0x46,0x49,0x49,0x49,0x31, // 53 S
0x01,0x01,0x7f,0x01,0x01, // 54 T
0x3f,0x40,0x40,0x40,0x3f, // 55 U
0x1f,0x20,0x40,0x20,0x1f, // 56 V
0x3f,0x40,0x38,0x40,0x3f, // 57 W
0x63,0x14,0x08,0x14,0x63, // 58 X
0x07,0x08,0x70,0x08,0x07, // 59 Y
0x61,0x51,0x49,0x45,0x43, // 5a Z
0x00,0x7f,0x41,0x41,0x00, // 5b [
0x02,0x04,0x08,0x10,0x20, // 5c Yen Currency Sign
0x00,0x41,0x41,0x7f,0x00, // 5d ]
0x04,0x02,0x01,0x02,0x04, // 5e ^
0x40,0x40,0x40,0x40,0x40, // 5f _
0x00,0x01,0x02,0x04,0x00, // 60 `
0x20,0x54,0x54,0x54,0x78, // 61 a
0x7f,0x48,0x44,0x44,0x38, // 62 b
0x38,0x44,0x44,0x44,0x20, // 63 c
0x38,0x44,0x44,0x48,0x7f, // 64 d
0x38,0x54,0x54,0x54,0x18, // 65 e
0x08,0x7e,0x09,0x01,0x02, // 66 f
0x0c,0x52,0x52,0x52,0x3e, // 67 g
0x7f,0x08,0x04,0x04,0x78, // 68 h
0x00,0x44,0x7d,0x40,0x00, // 69 i
0x20,0x40,0x44,0x3d,0x00, // 6a j
0x7f,0x10,0x28,0x44,0x00, // 6b k
0x00,0x41,0x7f,0x40,0x00, // 6c l
0x7c,0x04,0x18,0x04,0x78, // 6d m
0x7c,0x08,0x04,0x04,0x78, // 6e n
0x38,0x44,0x44,0x44,0x38, // 6f o
0x7c,0x14,0x14,0x14,0x08, // 70 p
0x08,0x14,0x14,0x18,0x7c, // 71 q
0x7c,0x08,0x04,0x04,0x08, // 72 r
0x48,0x54,0x54,0x54,0x20, // 73 s
0x04,0x3f,0x44,0x40,0x20, // 74 t
0x3c,0x40,0x40,0x20,0x7c, // 75 u
0x1c,0x20,0x40,0x20,0x1c, // 76 v
0x3c,0x40,0x30,0x40,0x3c, // 77 w
0x44,0x28,0x10,0x28,0x44, // 78 x
0x0c,0x50,0x50,0x50,0x3c, // 79 y
0x44,0x64,0x54,0x4c,0x44, // 7a z
0x00,0x08,0x36,0x41,0x00, // 7b <
0x00,0x00,0x7f,0x00,0x00, // 7c |
0x00,0x41,0x36,0x08,0x00, // 7d >
0x08,0x08,0x2A,0x1C,0x08, // 7e Right Arrow ->
0x08,0x1C,0x2A,0x08,0x08, // 7f Left Arrow <-
0x04,0x02,0x7F,0x02,0x04, // 80 UP Arrow
0x10,0x20,0x7F,0x20,0x10, // 81 Down Arrow
0x00,0x06,0x09,0x06,0x00, // 82 градус
0x5A,0x3C,0xE7,0x3C,0x5A, // 83 SUN
0x7C,0x0A,0x09,0x09,0x7F, // А
0x7F,0x49,0x49,0x49,0x31, // Б
0x7F,0x49,0x49,0x49,0x36, // В
0x7F,0x01,0x01,0x01,0x03, // Г
0x60,0x3E,0x21,0x3F,0x60, // Д
0x7F,0x49,0x49,0x41,0x41, // Е
0x77,0x08,0x7F,0x08,0x77, // Ж
0x22,0x41,0x49,0x49,0x36, // З
0x7F,0x10,0x08,0x04,0x7F, // И
0x7F,0x10,0x09,0x04,0x7F, // Й
0x7F,0x08,0x14,0x22,0x41, // К
0x40,0x3E,0x01,0x01,0x7F, // Л
0x7F,0x02,0x04,0x02,0x7F, // М
0x7F,0x08,0x08,0x08,0x7F, // Н
0x3E,0x41,0x41,0x41,0x3E, // О
0x7F,0x01,0x01,0x01,0x7F, // П
0x7F,0x09,0x09,0x09,0x06, // Р
0x3E,0x41,0x41,0x41,0x22, // С
0x03,0x01,0x7F,0x01,0x03, // Т
0x27,0x48,0x48,0x48,0x3F, // У
0x0E,0x11,0x7F,0x11,0x0E, // Ф
0x63,0x14,0x08,0x14,0x63, // Х
0x3F,0x20,0x20,0x3F,0x60, // Ц
0x07,0x08,0x08,0x08,0x7F, // Ч
0x7F,0x40,0x7F,0x40,0x7F, // Ш
0x3F,0x20,0x3F,0x20,0x7F, // Щ
0x01,0x7F,0x48,0x48,0x30, // Ъ
0x7F,0x48,0x30,0x00,0x7F, // Ы
0x7F,0x48,0x48,0x30,0x00, // Ь
0x22,0x49,0x49,0x49,0x3E, // Э
0x7F,0x08,0x3E,0x41,0x3E, // Ю
0x46,0x29,0x19,0x09,0x7F, // Я
0x20,0x54,0x54,0x38,0x40, // а
0x3C,0x4A,0x4A,0x4A,0x31, // б
0x7C,0x54,0x54,0x54,0x28, // в
0x7C,0x04,0x04,0x04,0x04, // г
0x60,0x38,0x24,0x3C,0x60, // д
0x38,0x54,0x54,0x54,0x18, // е
0x6C,0x10,0x7C,0x10,0x6C, // ж
0x28,0x44,0x54,0x54,0x28, // з
0x7C,0x20,0x10,0x08,0x7C, // и
0x7C,0x20,0x12,0x08,0x7C, // й
0x7C,0x10,0x10,0x28,0x44, // к
0x40,0x38,0x04,0x04,0x7C, // л
0x7C,0x08,0x10,0x08,0x7C, // м
0x7C,0x10,0x10,0x10,0x7C, // н
0x38,0x44,0x44,0x44,0x38, // о
0x7C,0x04,0x04,0x04,0x7C, // п
0x7C,0x24,0x24,0x24,0x18, // р
0x38,0x44,0x44,0x44,0x28, // с
0x04,0x04,0x7C,0x04,0x04, // т
0x4C,0x50,0x50,0x50,0x3C, // у
0x18,0x24,0x7C,0x24,0x18, // ф
0x44,0x28,0x10,0x28,0x44, //х
0x3C,0x20,0x20,0x3C,0x60, // ц
0x1C,0x20,0x20,0x20,0x7C, // ч
0x7C,0x40,0x7C,0x40,0x7C, // ш
0x3C,0x20,0x3C,0x20,0x7C, // щ
0x04,0x7C,0x48,0x48,0x30, // ъ
0x7C,0x48,0x30,0x00,0x7C, // ы
0x7C,0x48,0x48,0x48,0x30, // ь
0x54,0x54,0x54,0x54,0x38, // э
0x7C,0x10,0x38,0x44,0x38, // ю
0x48,0x54,0x34,0x14,0x7C //я
};
//**********************************************************************************

void init_nokia(void)
{
// nokia LCD init
nok_dc=1; // bytes are stored in the display data ram, address counter, incremented automatically
nok_cs=1; // chip disabled
DelayMs(10);

nok_res=0; // reset chip during 250ms
DelayMs(250);
nok_res=1;

// set extins extended instruction set
nokia_write_command(0x21);

// Vop was 0xc5 // better is 0xa0
nokia_write_command(0xa0);

// bias
nokia_write_command(0x13);

// horizontal mode from left to right, X axe are incremented automatically , 0x22 for vertical addressing ,back on normal instruction set too
nokia_write_command(0x20);

// all on
nokia_write_command(0x09);

DelayMs(50);
// DelayMs(250);

nokia_clear(); // reset DDRAM, otherwise the lcd is blurred with random pixels

DelayMs(10);

// mod control blank change (all off)
nokia_write_command(0x08);
DelayMs(10);

// mod control normal change
nokia_write_command(0x0c);

// nokia_gotoxy(0,0);

}

//*******************************************************************************
void nokia_write_command(unsigned char command_in)
{

nok_dc=0; // byte is a command it is read with the eight SCLK pulse
nok_cs=0; // chip enabled
clockdata(command_in);
nok_cs=1; // chip disabled
}
//*******************************************************************************
void nokia_write_data(unsigned char data_in)
{
nok_dc=1;
nok_cs=0; // chip enabled
clockdata(data_in);
nok_cs=1; // chip disabled
}
//*******************************************************************************
void clockdata(unsigned char bits_in)
{
signed char bitcnt;
for (bitcnt = 8; bitcnt > 0; bitcnt–)
{
nok_sclk = 0; // Set Clock Idle level LOW.
if ((bits_in&0x80)==0x80) {nok_sda = 1;} // PCD8544 clocks in the MSb first.
else {nok_sda = 0;}
nok_sclk = 1; // Data is clocked on the rising edge of SCK.
bits_in = bits_in<<1; // Logical shift data by 1 bit left.
}
}
//*******************************************************************************
//*******************************************************************************
void nokia_clear(void) // очистка экрана DDRAM (установка всех бит в 0)
{
signed char ch, cm, cl;
nok_sda=0;
nok_dc=1;
nok_cs=0;
for (ch=6;ch>0;ch–){ // 6 rows
for (cm=84;cm>0;cm–){ // 84 columns
for (cl=8;cl>0;cl–){ // 8 pixels
nok_sclk=0;
nok_sclk=1;
}
}
}
nok_cs=1;
}

//*******************************************************************************
void nokia_gotoxy (unsigned char xnokia, unsigned char ynokia) // Nokia LCD Position cursor
{
// bytefornokia=(0x40|(ynokia&0x07)); // Y axe initialisation: 0100 0yyy
nokia_write_command(0x40|(ynokia&0x07));

// bytefornokia=(0x80|(xnokia&0x7f)); // X axe initialisation: 1xxx xxxx
nokia_write_command(0x80|(xnokia&0x7f));
}

//*******************************************************************************
void putchar(unsigned char character)
{
int tablept;
signed char count;
unsigned char char_column;

if ((character<0x20)) {return;} // Exit function if character is not found.
if(character > 191)
{
tablept = ((5*(character-60)) - 160);
}
else
{
tablept = ((5*character) - 160); // Point to the columns of the character in the table.
}
for (count=5;count>0;count–) // Draw the columns to print the character.
{
char_column = table[tablept];
nokia_write_data(char_column);
tablept++;
}
nokia_write_data(0x00); // 1 pixel spacing per character.
}

//*********************************************************************************
void putstr(const char *s)
{
while(*s) {putchar(*s++); } // Points to one ASCII to be written one at a time.
}

Debian

О! халяваный знакогенератор! спасиба! 😃

shad71

А что за интерполятор, если не секрет?

339933

может не по форуму не могу настроить мачь чтоб не шол рывками от точки к точке как поставить апраксимацию? Подскажите пожалуйста!

27 days later
buka48
Debian:

я все не сфотогграфирубю осциллограмму выбросов с делителя)))
там при первой же пробивке из системника будет слышен такой негромкий “ЧПОК” =)

to duritskiy
я на работе, все никак нет времени набросать, постораюсь в ближайшее время помочь

к стати эта приблуда от Артсофта нормально работает )) там две платы очень качественные )
и начальная установка на заводах в большынстве индуктивная на плазме ))

339933
buka48:

к стати эта приблуда от Артсофта нормально работает )) там две платы очень качественные )
и начальная установка на заводах в большынстве индуктивная на плазме ))

подскажите как настроить и запустить приблуду от Артсофта

buka48
339933:

подскажите как настроить и запустить приблуду от Артсофта

какой привод на Z ?
и какой плазмотрон ?

339933
buka48:

какой привод на Z ?
и какой плазмотрон ?

привод шаговый двигатель с винтом , плазматрон абитад 150 ампер для чпу

какая схема??? на HTC Plugin, как всё ето подключить???

buka48
339933:

привод шаговый двигатель с винтом , плазматрон абитад 150 ампер для чпу

какая схема??? на HTC Plugin, как всё ето подключить???

нарисую выложу ))
просто есть вариант менее сложный и более надежный !
работает 2 года на машине с фотки после сноса THC
по причине невозможности нормально настроить Mach ))
т.е. ограничений по высоте стабилизации (тонкий метал сильно коробит особенно наш)
и проблем с английским ))

п.с.
1 схемма конкретно чего :стабилизации,начальной установки,подключения.
2 движок на фотке стоит колекторный под ГЕККО (ГЕККО был заменен на обычьный на L292 бывшый под рукой)
чуть доработать и можно STEP/DIR привод гонять (было лень дорабатывать)

buka48
339933:

было бы здорово 😃 буду ждать!

ожидание смерти хуже самой смерти ))

ReGet
Debian:

ПС Shad71 подкинте доку на дисплей, как вы им управляете, это от 3310?
незнаете где можно оторвать штук пару таких, чтобы контакты были приклеены к дисплею, а не эта убогая токопроводящая резинка…

Обычный экран с контроллером из чип-дипа, там полно всяких

339933

как настроить THC (по напряжению дуги) и подключить?

buka48
339933:

как настроить THC (по напряжению дуги) и подключить?

сами платы есть ?

buka48
339933:

какие платы?

примерно такие !
п.с. есть доки ))

pashali

уважаемый buka48, я спрашивал может кто работал с плагином THC от артсофта где контроль напряжения дуги снимается с аналогового входа звуковой карты, а Вы говорите о THC 300 а это разные вещи. Ещё раз вопрос: никто не пробовал этот плагин в деле?

buka48
pashali:

уважаемый buka48, я спрашивал может кто работал с плагином THC от артсофта где контроль напряжения дуги снимается с аналогового входа звуковой карты, а Вы говорите о THC 300 а это разные вещи. Ещё раз вопрос: никто не пробовал этот плагин в деле?

наскоко я понимаю вход на звуковухе должен быть без разделительных конденсаторов ?
или стоять какойто преобразователь постоянки !

339933
buka48:

примерно такие !
п.с. есть доки ))

А где вы покупали ети платы(если можно ссылку) ? Они рабоатают у вас ?

buka48
339933:

А где вы покупали ети платы(если можно ссылку) ? Они рабоатают у вас ?

где брали надо спросить у народа с бывшей конторы ))
платы работают уже более 2х лет в г.Запороже
т.к. пускал и переделывал станок сам (после 2х дипломированых уродов)