Presentation is loading. Please wait.

Presentation is loading. Please wait.

CNC 제어시스템.

Similar presentations


Presentation on theme: "CNC 제어시스템."— Presentation transcript:

1 CNC 제어시스템

2 NC(Numerical Control)
정의 : NC란 Numerical Control의 약어로써 " 공작물에 대한 위치를 그것에 대응하는 수치(Dimension) 정보로 지령하는 것'을 의미 NC 시스템이란 제어부(Controller)와 기계 본체가 전장반 및 조작반 (Operating Panel)을 통하여 데이터를 주고받을 수 있도록 결합된 장치 정확한 위치제어 요구 공구의 이송도 빠른 속도 요구

3 장점 제품의 균일성을 향상시킬 수 있다. 생산성이 향상된다. 제조원가 및 인건비를 절감할 수 있다.
특수 공구 제작이 필요 없으므로 공구 관리비를 절감할 수 있다. 작업자의 피로를 감소시킬 수 있다. 제품의 난이도가 증가함에 따라 가공성을 향상시킬수 있다. 생산 제품의 난이도가 증가함에 따라 가공성을 향상시킬 수 있다.

4 NC 제어기능 위치 결정(PositioningControl) : 공구의 최종 위치만을 제어하는 것으로 이동 중의 경로는 무시하고 목적하는 위치까지 빠르고 정확하게 이동시키는 기능을 의미한다. 직선 절삭 (Straight cutting control) : 위치 결정 NC와 유사하지만 이동 중에 절삭작업을 하기 때문에 이동 중의 경로가 중요한다. 연속절삭(Contouring Control) : 곡선형 경로 등 어떠한 경로라도 자유자재로 공구를 이동시켜 연속절삭을 할 수 있다. NC 공작기계의 구성 NC 공작기계는 절삭에 관련된 각종 지령정보를 처리할 수 있는 Computer (NC 시스템)와 서보 기구가 필요

5 PC-NC NC 기술과 최신 PC기술을 결합 칼라 모니터의 조작반과 CNC본체를 일체화시켜 소형 컴팩트 설계
운영체제에 윈도우 95/98/2000을 탑재하고 시판되고 있는 일반 PC용 S/W를 그대로 이용 가능 PC의 우수한 그래픽 기능과 네트워크기능등 최신 기술을 이용하여 공작기계의 지능화를 실현

6 CNC 시스템

7 시스템 구성 모듈

8 기술 동향 기능별 기술 발전 추이

9

10 핵심 기술

11

12

13 경쟁력 보유 조건

14 32 Bit 및 64 Bit CNC Unit 32 Bit CNC(LGMEC-40) 주요 사양
CPU : 80486/80960/80186 DOS Compatible Multi Bus I/F 제어축수 : Spindel 포함 최대 12 축 Channel 수 : 4 1 Channel 최대 제어 축수 : 9 최소 이동 단위 : 1 um Display : 14” Color CRT PLC I/O 접점수 : 최대 752 점 조작 Key 용 I/O 접점수 : 64/48 점 대화용 CAM 시스템 치 3차원 Graphic Simulator(검증기) Analog/Digital 서보 I/F 간이 DNC 기능 Rigid Tap 및 2 Spindle 동기 제어 기능

15 32 Bit CNC 시스템 사양

16 32 Bit CNC 외형도

17 64 Bit CNC 주요 사양 CPU : Pentiup 5/80960/80160
Dos Compatible Multi Bus I/F 제어축수 : 최대 16축, 동시 9축 최소 이동 단위 : 0.1 um Display : 14” Color CRT 32 Bit 탑재 PLC 기본 명령 처리 속도 : 0.2 usec I/O 접점수 : 512/512 점 Network 기능 보유 공구 관리 기능 Analog/Digital 서보 I/F DNC 기능 FA용 Network 기능

18 64 Bit CNC 시스템 구성도

19 64 Bit CNC 외형도

20 Axis Main Board 20MHz : 80960KB CPU ROM 512KB / RAM 128 KB 내부 타이머 3개
배터리 Back-up 공용 SRAM 768KB NVRAM 64KB(파라미터)

21 Axis Slave Board 축 제어용 D/A 컨버터 채널 엔코더 카운터 3 채널 MPG 용 카운터 서보 관련 I/O 9점
기계 관련 Input 13점

22 Memory Board System O/S를 ROM Bootinhg하기 위한 ROM Disk Board
ROM Size는 4MB 이상 확장 가능 Graphic, Serial 및 Parallel 통신, FDD 및 HDD 제어 통신 제어부는 Serial 통신을 위한 2개의 RS-232C 포트 및 1개의 Parallel Port 내장

23 PLC Main Board Main CPU : 80C186 Data Link Unit : H8532 256KB O/S ROM
64KB Program RAM 최대 30K Steps, 0.2usec/step 최대 752 I/O 접점 지원

24 PLC I/O Board Board 당 64/48 I/O 접점 Parallel I/O Gate Array 4개
TR 출력, DC 24V 외부 전원 사용 HIC 사용

25 기계 조작반용 I/O Board CPU : 80C31 RS232C I/F 64/48 I/O 접점 내장
TR 출력, DC 24V 외부 전원 사용

26 Software Servo Micom을 사용하여 제어알고리즘을 S/W에 의해 실행하는 서보 Servo Driver

27 서보의 기본 블록도

28 Semi Software Servo 블록도
종래 속도 제어 Unit을 그대로 사용하고 위치 제어부만 Micom화한 것

29 Full Software Servo 블록도
Type 1 : 속도 제어부는 Micom 제어부이지만 전류제어부는 종래 Analog 제어형

30 Type 2 : 속도 제어부 및 전류 제어부 모두를 Micom화한 것

31 기술 사양 비교

32 User Open System YASKAWA : Application Soft 개발 지원 System -> ACGC Series Mitsubishi : 사용자 Soft 개발 시스템인 M-FAS 화면 Soft 작성 FANUC : System P-G로 User Soft 제공 LGIS : CNC에 DOS 환경을 위한 Utility 제공

33 보간 기능(1) 공구를 직선, 원호에 따라 이동하는 기능 위치 결정(G00) : G00으로 위치 결정을 지령
예) G00 IP--; - 직선보간형 위치결정 - 비직선 보간형 위치 결정 시 점 비직선 보간형 위치 결정 직선 보간형 위치 결정 종 점

34 보간 기능(2) 1방향 위치 결정(G06) : Backlash를 제외한 정밀한 위치결정,
최종적으로는 1방향으로만 위치결정 할 수 있다. 예) G06 IP--; 시 점 종 점 지나침량과 위치 결정 방향은 PARAM로 설정 지나침량 일단정지 시 점 시 점 종 점

35 보간 기능(3) 직선 보간 (G01) : 이 지령으로 직선 보간을 할 수 있다. 예) G06 IP-- F--;
Y 축 (종점) 100.0 X 축 200.0 (시점)

36 보간 기능(4) 원호 보간 (G02,G03) 다음 지령에 의해 원호종류에 따라 공구 이동 - 평면의 원호
평면의 원호 : X축이나 그 평행축, : Y축이나 그 평행축, : Z축이나 그 평행축

37 보간 기능(4) 고 려 사 항 지 령 의 미 G17 Xp, Yp 평면 원호 지정 1 평 면 지 정 G18
지 령 의 미 G17 Xp, Yp 평면 원호 지정 1 평 면 지 정 G18 Zp, Xp 평면 원호 지정 G19 Yp, Zp 평면 원호 지정 2 회 전 방 향 G02 시계 방향 CW G03 반시계 방향 CCW 3 종 점 위 치 G90 MODE Xp,Yp,Zp 중 2축 공작물 좌표계에서 종점의 위치 G91 MODE 시점부터 종점까지 거리 4 시점부터 중심까지 거리 I, J, K 중 2축 시점부터 중심까지 부호있는 거리 5 원 호 반 경 R 원호 반경 6 이 송 속 도 F 원호 절삭 속도

38 보간 기능(4) 시계방향, 반시계방향 이라는 것은 오른손 직교 좌표계의 Xp Yp 평면에 대해 Zp 축의 정방향이나 부방향을 말한다. Yp Xp Zp G03 G03 G03 G02 G02 G02 Xp Zp Yp G17 G18 G19

39 보간 기능(4) I, J, K 뒤의 수치는 원호 시점부터 중심을 본 Vector 성분으로 G90, G91에 관계없이 항상 증분치로 지령 종점(x,y) 종점(z,x) 종점(y,z) Y X Z X Z Y 시점 시점 시점 j i k 중심 중심 중심 i j J

40 보간 기능(4) 2개의 원호, 중 이하와 이상의 원호를 생각할때 이상의 원호를 지령할때는 반경을 부(-)의 값으로 지령
2개의 원호, 중 이하와 이상의 원호를 생각할때 이상의 원호를 지령할때는 반경을 부(-)의 값으로 지령 1의 원호( 이하)의 경우 G91 G02 Z60.0 X20.0 R50.0 F300 2의 원호( 이상)의 경우 G91 G02 Z60.0 X20.0 R-50.0 F300 종점 r=50mm r=50mm 시점 X Z

41 (PROGRAM 예) 1> 절대 방식의 경우 G92 X200.0 Y40.0 Z0;
100 50R 60R 시점 60 40 X 축 90 120 140 200 1> 절대 방식의 경우 G X Y Z0; G90 G03 X Y I F300; G02 X Y I ; 또는 2> 증분방식의 경우 G91 G03 X-60.0 Y I F300.; G02 X-20.0 Y I-50.0; G91 G03 X-60.0 Y I F300.; G02 X-20.0 Y I50.0;

42 시점에서 원호반경과 종점에서의 원호반경이 다른 원호지령을 함으로써 나선보간 가능
종점이 원호상에 없는 경우 종점 시점 종점 시점 중심 원호반경은 중심각 만큼 직선적으로 변화 시점에서 원호반경과 종점에서의 원호반경이 다른 원호지령을 함으로써 나선보간 가능

43 Heart CAM 절삭 나선보간으로 Heart CAM 절삭 가능 G91 G17 G02 X (a+b) IaF1000; (상측)
Y b a X G91 G17 G02 X (a+b) IaF1000; (상측) G02 X- (a+b) I-a; (하측)

44 원추 절삭 Helical 보간 원호부분에 관해서도 나선으로 하는것이 가능 이 Helical 보간을 이용하여 원추절삭 가능 Z
Y X

45 HELICAL 보간(G02, G03) 원호 지령을 원호보간에 동기시켜 움직이도록 1축의 직선축을 지령하는 것으로 Helical 보간이 가능 Z 공구통로 Y X 원호 보간 되어있는 2축의 원호에 따라 지정된 속도로 됩니다.

46 HELICAL 보간 B (G02, G03) Helical 보간 : 임의의 2축의 원호보간과 다른 1축의 직선보간을 동시에 수행

47 가상축보간(G07) Helical 보간의 원호보간축의 1축을 가상축으로 해서 Pulse를 분배함으로써 SIN보간 가능
(r은 원호반경) (l은 1 cycle동안 Z축 이동량) Y r Y Z 10.0 l G07 X0; G91 G17 G03 X-20.0 Y0.0 I-10.0 Z20.0 F100 G01 X10.9; G07 X1; Z 20.0

48 극좌표보간(G12.1,G13.1) 직교좌표계에서 Program된 지령을 직선축의 이동과 회전축의 이동으로 변환하여 윤곽제어를 하는 기능 N0100 G90 G00 X60.0 C0 Z__; N0200 G12.1; N0201 G42 G01 X20.0 F__ N0202 C10.0; N0203 G03 X10.0 C20.0 R10.0; N0204 G01 X-20.0; N C-10.0; N0206 G03 X-10.0 C L0; N0207 G01 X20.0; N C0; N2009 G40 X60.0; N0210 G13.1; N3000 Z__; N0400 X__ C__; C(가상축) C축 공구경보정후의 통로 Program 통로 N204 N203 N205 N201 N200 N202 X축 공구 N208 N206 N207 Z축

49 원통보간(G07.1) 원통보간 Mode에서는 각도로 지정된 회전축의 이동량을 일단 내부 원주상의 직선축의 거리로 변환하여 다른 축 사이에서 직선보간이나 원호보간을 행함 보간 후 다시 회전축의 이동량으로 역변환 됨 C Z R

50 지수함수보간(G02.3,G03.3) X축의 어떤 일정량의 변화에 대하여 회전축의 이동량을 구하는 직선근사 방식
직선축과 회전축과의 지수함수 관계식 X(직선축) R, I, J는 정수, 는 각도(radian) A (회전축)

51 원호나사절삭B(G02.1,G03.1) 원호나사절삭 B : 2축으로 원호보간을 행하는 동시에 원호보간의 긴축과 다른 임의의 2축 사이에 직선보간 수행 X 시점 종점 Z C R I K

52 Involute 보간 Involute 곡선의 가공 수행 공구경보정도 가능
Involute 곡선을 미소한 직선 또는 원호로 근사시킬 필요가 없게되어, 미소 Block의 고속운전에서 Pulse 분배가 중단되지 않아서 고속으로 매끄러운 운전이 가능 Y Involute 곡선 시점 R 종점 X

53 Spline 보간 지령된 점렬을 통과하는 Spline 곡선을 보간, 매끄러운 곡선을 가공
Spline 곡선 – n+1 개의 점렬을 통과하는 n개 Parametric한 3차곡선상 입니다. 곡선상의 점위치 Vector를 P, Parameter를 t, A,B,C,D를 Vector계수로 하면 3차곡선의 일반식은 f(t)는 다음과 같다.

54 나사절삭(G33) 등간격 나사절삭(G33) G33지령으로 등간격 Straight 나사 및 등간격 Taper나사 절삭
황삭부터 사상까지 주축 회전수는 일정해야 한다. 최고이송속도 나사의 Lead 의 허용 회전수 주축회전수 rpm 나사의 Lead : mm 또는 INCH 최고이송속도 : mm/min나 inch/mm로 분당이송의 최대지령치와 Motor나 기계의 제한에서 오는 최고이송속도 중에서 작은쪽의 값

55 Inch 나사절삭(G33) E code로 1inch당 山數를 지정함으로서 inch나사를 정도좋게 가공
Q : 나사절삭 개시 각도의 SHIFT 각도(0~360) X축 Z축 70mm

56 연속나사절삭 나사절삭 지령으 BLOCK을 계속해서 지령
BLOCKRHK BLOCK의 연결에서 주축과의 동기가 가능한 한 어긋나지 않도록 제어되므로 도중에서 Lead 형상이 변화하는 특수한 나사절삭 가능 G33 G33 G33

57 이송 기능 급송 속도 위치결정(G00)의 지령으로 급송속도로 위치 결정
급송속도는 축마다 PARAM(DATA 번호 1420)에 설정되어 있기 때문에 Program으로 지령할 필요는 없다. 급송속도에 따라서 기계조작반상의 스위치로 F0, F1, 50,100% F0 : 일정속도로 축마다 PARAM설정할 수 있다.(DATA번호:1421) F1 : 일정 %로 PARAM에 설정할 수 있다.(DATA번호:1412) 의 Override를 시킬수 있다.

58 절삭 이송 절삭 이송 1. 접선속도 일정제어 절삭이송은 접선방향의 속도가 항상 지령된 속도가 되도록 제어
X X 시점 종점 종점 시점 Z Z 직선의 경우 : 접선방향속도 원호의 경우 : 축 방향속도 성분 X Z

59 2. 절삭이송속도의 CLAMP 절삭이송속도 상한치를 각축마다 PARAM(DATA번호 1422)로 설정
실제 절삭이송속도(OVERRIDE가 된 후 이송속도)가 상한치를 넘어도 그 값을 넘지 않게 이송속도가 CLAMP된다. CLAMP값은 mm/min or inch/min로 설정 매회전당 이송은 : 분당 이송속도(mm/min or inch/min) : 회전당 이송속도(mm/rev or inch/rev) : 주축 회전수(rpm) 오차는 정상상태가 된후 500mm이상의 거리를 움직인 시간을 측정한 것이다.

60 3. 분당이송(G94) 분당이송 Mode를 G94로, 공구를 분당 이송하는 것은 F에 이은 수치로 직접 지령
1분간 마다의 이동량 (mm/min or inch/min) 공구

61 4. 회전당 이송(G94) 회전당 이송 MODE를 G95로, 공구를 주축 1회전당 얼마만큼 이송할 것인가는 F에 이은 수치로 직접 지령 주축 1회전 당의 이동량 (mm/rev or inch/rev) 매회전이송

62 5. INVERSE TIME(G93) G93을 지령함으로서 INVERSE TIME 지정 MODE(G93 MODE)가 된다.
F Code로 INVERSE TIME(FRN)을 지령 FRN 1. 직선보간(G01)의 경우 2. 원호보간 (G02, G03)의 경우 속도 : mm/min(mm입력인 경우) 또는 inch(inch입력인 경우) 거리 : mm (mm입력인 경우) 속 도 거 리 속 도 속도 : mm/min 또는 inch/min 거리 : mm 또는 inch 원 호 반 경 G93 MODE에서 F0가 지령되면 속도는 최대절삭 속도가 된다.

63 6. F1 자리 이송 F 다음에 1~9까지의 1단의 번호를 지정하면 이 번호에 대응하여 설정된 이송 속도로 된다. 이송 속도의 증감량 /수동 PULSE발생기 1눈금 7. 이송속도의 Setting 입력 가공중에 절삭이송 속도를 그다지 변경할 필요가 없는 기계이므로 절삭이송속도를 Parameter로 지정할 수 있다. 가공중에 절삭이송 속도를 그다지 변경할 필요가 없는 기계이므로 절삭이송속도를 Parameter로 지정할 수 있다.

64 OVERRIDE 이송속도 Override : 분당이송(G94)과 회전당 이송(G95)은 기계조작반상의 스위치로 0~254%(1%간격) 또는 0~200%(10%)의 Override를 시킬 수 있다. 제2이송속도 Override : 전체의 절삭이송 속도에 0~254%(1%간격) Override시킬 수 있다. 급송이송 Override : 급송이송속도에 따라 기계조작반상의 스위치로 F0, F1, 50, 100%의 Override를 걸 수 있다. Override Cancel : r기계측에서의 신호에 의해 이송속도 Override 나 제2이송속도 Override를 100%로 CLAMP 시킬 수 있다.

65 자동 가감속 1. 보간후 자동가감속 이동개시시와 이동 종료시에 자동적으로 가감속되기 때문에 매끄러운 기동/정지 보간후의 속도
가감속제어후의 속도 Servo motor Pulse 분배 (보 간) CNC 지령 가감속제어 Servo 제어 가감속제어 Servo 제어 보간후의 속도 가감속제어후의 속도

66 절삭이송 지령에 따라서 보간전 즉, 지령속도에 직선형 가감속 가능 가감속의 지연에 기인되는 가공형상 오차 제거
2. 절삭이송 보간전 직선형 가감속 절삭이송 지령에 따라서 보간전 즉, 지령속도에 직선형 가감속 가능 가감속의 지연에 기인되는 가공형상 오차 제거 직선형 가감속에서 가감속 요하는 시간 지수함수형 가감속에 비하여 대폭 단축 Servo motor Pulse 분배 (보 간) Servo 제어 CNC 지령 Servo 제어 Pulse 분배 (보 간) 이송속도 지령 속도 : 이송속도지령치 시간

67 3. 절삭이송 보간후 직선가감속 “절삭이송 보간후 직선가가속”을 한 경우 -절삭이송 및 JOG이송 직선 가감속 속도 속도 시간

68 이 반경방향의 오차의 최대치는 근사적으로 다음 식에서 구할 수 있다.
원호 보간의 경우 특히 고속의 원호 절삭을 행할 경우 가감속이 걸린 실제의 공구통로는 지령 된 원호에 대하여 반경방향으로 오차를 갖는다. 이 반경방향의 오차의 최대치는 근사적으로 다음 식에서 구할 수 있다. …………..지수함수형 가감속의 경우 …………..보간후 직선가감속의 경우 Y 지령통로 : 반경오차의 최대치(mm) : 이송속도(mm/sec) : 원호반경(mm) : 가감속의 시정수(sec) : Servo loop의 시정수(sec) X

69 4. 절삭이송 보간후 종형(鍾)가감속 절삭이송 보간후 종(鍾)형가감속기능 속도 속도 시간 시간 : 시정수

70 5. 선독보간전 가감속 감속에 필요한 거리보다도 짧은 Block이 연속하여 지령되어 있는경우, 어떤 Block에서 정지시키기 위해서는 감속거리 만큼 앞 Block에서 감속을 시킬 필요가 있지만 선독보간전 가감속에서는 이런한 제어 가능 속도 시간

71 BLOCK의 CORNER에서의 속도제어 지령
보간후 자동가감속의 경우 절삭이송시 CORNER부위에 R오차 발생 이 경우 CORNER에서의 BLOCK에 감속지령(G09 or G61)을 넣는다. 예) Block에서 X축이 움직이고 다음 Block에서 Z축이 움직이면 X축 감속중에 Z축은 가속을 하기 때문에 공구 통로는 다음과 같다. 여기에 감속지령을 넣는다. X Program된 통로 실제의 공구 통로 Z

72 1. Exact Stop (G09) 절삭이송에서 공작물의 Conner에 정확한 Edge를 얻기위해 사용 2. Exact Stop Mode (G61) G61이 지령되면 그 이후의 절삭이송 지령에 있어서는 각 Block의 종점에서 감속되어 Inposition Check 수행 3. 절삭 Mode (G64) G64이 지령되면 그 이후의 절삭이송 지령에 있어서는 각 Block의 종점에서 감속되지 않고 다음 Block으로 이동 4. TAPPING Mode (G63) G63이 지령되면 이송속도 Override 무시되어 항상 100% 로 되고 Feed Hold도 무시 절삭이송속도 지령에 따라 각 Block의 종점에서 감속하여 다음 Block 으로 이동

73 5. 자동 Conner Override (G62) G62가 지령되면 공구경보정중에 Corner에서 자동적으로 절삭이송속도로 Override가 걸려 Corner에서의 단위시간당의 절삭량이 증대하지 않도록 제어 내측 Corner부 자동 Override (a) 동작 조건 Group 01의 G Code가 G01, G02, G03중 어느 하나인 경우 Offset mode중에 Offset량이 0가 아닌 경우 Corner 부위에서는 Offset가 내측인 경우 Offset 평면에서 축 이동이 있는 경우 다음 Block에 G41,G42의 지령이 포함되어 있지 않는 경우 앞 Block에 G41, G42의 지령이 없든지, 있어도 Start up되지 않은 경우 내측의 Corner가 Parameter로 설정된 각도 보다 작은 경우

74 내측 Corner부로 판정된 경우 그 Corner의 교점에서 바로 앞
내측 Corner부 자동 Override (b) 동작 영역 내측 Corner부로 판정된 경우 그 Corner의 교점에서 바로 앞 Block의 Le이내의 거리의 범위와 Corner교점에서 다음 Block의 Ls이내의 거리 범위 사이에 이송속도 Override를 건다 거리 Ls, Le는 Cutter 중심 통로상의 점과 Corner의 교점과의 직 선거리 Ls, Le는 Parameter로 설정 Program 통로 Cutter 중심 통로 Program 통로 Cutter 중심 통로 원호인 경우 직선인 경우

75 Override량은 Parameter 로써 설정
내측 Corner부 자동 Override (c) Override량 Override량은 Parameter 로써 설정 F 4자리 지령인 경우 실제 이송속도 내측 (d) 내측 Corner Override 유효/무효 Exact stop Check mode 내측 Corner Override G61 유 효 무 효 G62 G63

76 내측원호절삭 속도변경 내측에 Offset 되어 있는 원호절삭인 경우 지령된 이송속도(F)에 대해서 실제 이송속도 : Cutter 중심통로반경 : Program 반경 최소감속비(MDR)로 설정 인 경우 실제 속도 MDR는 Parameter로 설정 내측원호절삭에 내측 Corner부 자동 Override가 중첩된 경우 실제의 이송속도

77 DWELL (G04) G04의 지령으로 다음 Block의 동작으로 가기까지 Dwell 시간만큼 지연 Format
P--, 또는 X-- : Dwell 시간을 sec의 단위로 지령 (0.001~ sec) 회전당 Dwell P--, 또는 X-- : 주축회전 각도로 Rev의 단위로 지령 (0.001~ rev)

78

79 KH50/63G (수평형 머시닝센터)

80 KAG40 (CNC 앵귤러 연삭기)

81 KV60/75/90 (수직형 머시닝센터)

82 KV60/75/90 (수직형 머시닝센터)

83 KIT30B (GANG TYPE CNC 선반)

84 SKT28/28L(CNC 배속선반)

85 SKT28/28L(CNC 배속선반)

86 FANUC Series 16

87 FANUC Series 16

88 FANUC-KOREA DRILL Mate series

89 가 공 예

90 LGMEC-30 Series


Download ppt "CNC 제어시스템."

Similar presentations


Ads by Google