PikoCNC Hardware. board v2.1. PikoCNC Hardware board v2.1. copyright: Andrzej Woźniak 2011-2014 P.P.H.U ELCOSIMO 29.08.

Podobne dokumenty
PikoCNC Board B v1.0 Copyright 2015 PPHU ELCOSIMO 1. PikoCNC Board B v1.0 wersja 1.0

PikoCNC Board E v1.0 Copyright 2015 PPHU ELCOSIMO 1. PikoCNC Board E v1.0 wersja 1.0

PikoCNC moduł REMOTE v1 wersja 1.1

Wtyczka MPG XHC_HB04

Wtyczka MPG XHC_WHB04B-4

Sterownik CNC SSK-3F/4,5A/UK

AP3.8.4 Adapter portu LPT

Mikrokrokowy, trzyosiowy sterownik silników krokowych STC102

SDD287 - wysokoprądowy, podwójny driver silnika DC

Ćwiczenie 4: Eksploatacja systemu kontroli dostępu jednego Przejścia REGIONALNE CENTRUM EDUKACJI ZAWODOWEJ W BIŁGORAJU

Instrukcja obsługi AP3.8.4 Adapter portu LPT

PikoCNC Ustawienia parametrów bazowania osi Z

Start maszyny Włączenie zasilania lub zwolnienie guzika Bezpieczeństwa ZEROWANIE. [Prędkości maksymalne]

E-TRONIX Sterownik Uniwersalny SU 1.2

SDD287 - wysokoprądowy, podwójny driver silnika DC

Instrukcja obsługi i montażu. Profesjonalny kontroler wysokości palnika plazmowego. Model: MyPlasm THC

INSTRUKCJA OBSŁUGI. Przekaźnik czasowy ETM ELEKTROTECH Dzierżoniów. 1. Zastosowanie

Instrukcja obsługi SDC106

MSA-1 Mikroprocesorowy sterownik do przełącznika antenowego

Biomonitoring system kontroli jakości wody

Szybki przewodnik instalacji

Firma DAGON Leszno ul. Jackowskiego 24 tel Produkt serii DAGON Lighting

Wyjście Kierunek. P zasilanie zewnętrzne 12/24VDC. P040 wyjście impulsów kanał 0. COM0 0V P041 wyjście impulsów kanał 1. COM1 0V P042 kierunek kanał 0

LICZNIK IMPULSÓW Z WYŚWIETLACZEM LED NA SZYNĘ DIN LIMP-1 ZASILANY 230VAC

Kod produktu: MP01105

MultiTool instrukcja użytkownika 2010 SFAR

RX10RF + VS RF + SALUS Smart Home Podłączenie modułu sterującego i regulatora

Sterownik sieciowy. Rozszerzenie 8 portów quasi dwukierunkowych. RaT8NO RaT8OC RaT8Wg

INTEGRACJA CENTRALI ALARMOWEJ SATEL Z HOME CENTER 2 FIBARO

Restarter GSM. Instrukcja montażu i konfiguracji. INETECH

DWUKIERUNKOWY REGULATOR SILNIKA DC VDC 20A

Podstawy programowania PLC - zadania

Wyjścia analogowe w sterownikach, regulatorach

Ćwiczenie 7: WYKONANIE INSTALACJI kontroli dostępu jednego Przejścia REGIONALNE CENTRUM EDUKACJI ZAWODOWEJ W BIŁGORAJU

STEROWNIK LAMP LED MS-1 Konwerter sygnału 0-10V. Agropian System

Instrukcja obsługi. SQCA244 instrukcja obsługi

Instrukcja obsługi optoizolowanego konwertera USB - Rs485. Wersja Czeladź ul. Wojkowicka 21 tel.: +48 (32) Fax.

INSTRUKCJA INSTALATORA

INSTRUKCJA INSTALACJI SPN-IR INSTRUKCJA INSTALACJI I OBSŁUGI. Sterownik Pracy Naprzemiennej SPN-IR

Instrukcja obsługi. Kontroler osi Z przecinarek plazmowych CNC. Model : Compact THC MD+DV ( with Motor Driver and Voltage Divider )

HiTiN Sp. z o. o. Przekaźnik kontroli temperatury RTT 14 WD DTR Katowice, ul. Szopienicka 62 C tel/fax.: +48 (32)

ISP ADAPTER. Instrukcja obsługi rev.1.1. Copyright 2009 SIBIT

Instrukcja obsługi SMC124 Sterownik silnika krokowego 0,5 3,6 A 1/2-1/128 kroku

IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO

Sterownik sieciowy. Rozszerzenie 8 portów quasi dwukierunkowych. RaT8NO RaT8OC RaT8Wg. Wersja 2F Autor Z.Czujewicz Strona 1

Instrukcja obsługi Poczwórny sterownik silników krokowych SQCA244 Bipolarny sterownik dla 4 silników krokowych do 4A z wejściem LPT,

Moduł przekaźnika czasowego FRM01. Instrukcja obsługi

DOKUMENTACJA TECHNICZNO RUCHOWA DTR

Kod produktu: MP01611

Moduł 6-osiowego manipulatora ręcznego

Falowniki Wektorowe Rexroth Fv Parametryzacja

Modem radiowy MR10-NODE-S

dv-2ps INSTRUKCJA OBSŁUGI

Instrukcja obsługi sterownika TB6560-3v2 oraz programu Mach3

Dokumentacja Techniczna. Konwerter USB/RS-232 na RS-285/422 COTER-24I COTER-24N

PX342. Driver PWM 1x10A INSTRUKCJA OBSŁUGI

Sterownik sieciowy. Rozszerzenie 8 portów quasi dwukierunkowych. RaT8NO RaT8OC RaT8Wg. Wersja 2A. Strona 1

ODBIORNIK JEDNOKANAŁOWY GAMMA X

GS-165 instrukcja montażu

Kod produktu: MP01611-ZK

HiTiN Sp. z o. o. Przekaźnik kontroli temperatury RTT 14W DTR Katowice, ul. Szopienicka 62 C tel/fax.: + 48 (32)

Edukacyjny sterownik silnika krokowego z mikrokontrolerem AT90S1200 na płycie E100. Zestaw do samodzielnego montażu.

Kod produktu: MP01105T

Moduł przekaźnika czasowego FRM01 Instrukcja obsługi

PROGRAMOWANIE PWM. Porty, które mogą być zamienione na PWM w każdym module RaT16 to port 3,4,5,6

Stair Lighting Driver. Sterownik oświetlenia schodowego Instrukcja użytkowania

Instrukcja obsługi Zasilacz regulowany WINNERS XL4015 USB

MIKROPROCESOROWY REGULATOR POZIOMU MRP5 INSTRUKCJA OBSŁUGI

Gate.

Wyprowadzenia sygnałow i wejścia zasilania na DB15

INSTRUKCJA OBSŁUGI PRZEKAŹNIKA TYPU TTV

EKSPANDER NA SZYNĘ DIN int-iors_pl 10/14

SPECYFIKACJA PRZETWORNIK RÓŻNICY CIŚNIEŃ DPC250; DPC250-D; DPC4000; DPC4000-D

Ćwiczenie 1 Konstrukcja Szafy Sterowniczej PLC

TERMOSTAT Z WYŚWIETLACZEM LED - 50,0 do +125,0 C

Licznik impulso w CN instrukcja obsługi

GRM-10 - APLIKACJA PC

Moduł MUC020. Przeznaczenie. Oprogramowanie i użyteczne właściwości modułu

Przemysłowe Systemy Automatyki ĆWICZENIE 2

SYSTEM MONITOROWANIA GAZÓW MSMR-16

Instrukcja Obsługi. Modułu wyjścia analogowego 4-20mA PRODUCENT WAG ELEKTRONICZNYCH

Uniwersalny sterownik silnika krokowego z portem szeregowym RS232 z procesorem AT90S2313 na płycie E200. Zestaw do samodzielnego montażu.

INSTRUKCJA OBSŁUGI KROSOWNICY WIDEO KV-12/4

PRZEDWZMACNIACZ PASYWNY Z SELEKTOREM WEJŚĆ. dokumentacja. (wersja 1.1

STEROWNIK DO ZESTAWÓW HYDROFOROWYCH 2 4 POMPOWYCH

INDU-40. Przemysłowy Sterownik Mikroprocesorowy. Przeznaczenie. Dozowniki płynów, mieszacze płynów.

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

DOKUMENTACJA TECHNICZNO-RUCHOWA. Sterownik klimatu FT-27

Konwerter DAN485-MDIP

4 Adres procesora Zworkami A0, A1 i A2 umieszczonymi pod złączem Z7 ustalamy adres (numer) procesora. Na rysunku powyżej przedstawiono układ zworek dl

UWAGA! PRZECZYTAJ ZANIM WYKONASZ AKTUALIZACJĘ FIRMWARE.

Instrukcja obsługi. Kontroler wysokości palnika plazmowego. Model : THC Controller

1) Połączenie za pomocą kabla PC/PPI (Nr kat.: USB: 6ES DB30-0XA0, RS232: 6ES CB30-0XA0)

StrK Sterownik bipolarnego silnika krokowego

Sterowniki Programowalne Sem. V, AiR

E228a. Sterownik interpolujący 3D do sterowania ruchem przestrzennym z komputera PC przez port szeregowy RS232C. 1. Opis.

SYSTEM E G S MODUŁ ML/A-1-6 INSTRUKCJA UŻYTKOWANIA

REMOTE CONTROLLER RADIO 4

ELEKTRYCZNĄ CENTRAL MCKS EH M

INSTRUKCJA OBSŁUGI. Przemysłowy Switch Ethernetowy 10SC portów 10/100 Mb/s. Niezarządzalny. Montaż na szynie DIN

Transkrypt:

PikoCNC Hardware board v2.1 29.08.2014 copyright: Andrzej Woźniak 2011-2014 P.P.H.U ELCOSIMO wozniak_andrzej@wp.pl Strona 1

Podstawowe parametry płyty v2.1 Interface USB (optoizolowane) Liczba osi 4 Częstotliwość sygnału STEP (Max) 120Khz Szerokość impulsów STEP: 3us (Min) Bufor Zdolności przesyłowe 3us 160 wektorów 1000 wektorów/s Wyjścia cyfrowe 7 Wejścia cyfrowe 14 (wszystkie optoizolowane) Wejścia analogowe 1 Zasilanie Wymiary płyty 12V lub 24V DC Iout>=200mA 150x93mm Aktualizacja FirmWare Do aktualizacji wewnętrznego oprogramowania sterownika służy program Fwupdate. Aby wprowadzić sterownik w tryb aktualizacji należy przy wyłączonym zasilaniu sterownika przytrzymać przycisk prog na jego płycie a następnie (cały czas go trzymając) załączyć zasilanie sterownika. Wejście w tryb sygnalizuje dioda stanu (mruga 2x wolniej niż normalnie). Następnie uruchomić program FWupdate, wybrać odpowiedni plik firmware (pliki z rozszerzeniem.wsd ) i nacisnąć programuj. Strona 2

Podłączenie USB Ze względu na bezpieczeństwo transmisji PC<->sterownik przy podłączaniu do komputera należy pamiętać o następujących kwestiach: Kabel USB musi być bardzo dobrej jakości (podwójny ekran, koralik ferrytowy) W komputerze do którego się podłączamy należy wybierać gniazda USB zainstalowane bezpośrednio na płycie głównej komputera! Kabel prowadzimy z dala od silników, sterowników silników oraz przewodów je łączących. Należy zadbać o eliminację zakłóceń EMC - eliminacja niechlujnych i niezgodnych ze sztuką połączeń, działające uziemienie itp. Kontrola stanu I/O Aktualny stan wszystkich wejść/wyjść możemy sprawdzić w okienku monitora. Zaświecenie na czerwono lampki oznacza, że styk na wejściu jest zamknięty. Strona 3

Złącze ''Motors (IDC16). 2 1 16 15 1 16 1 GND 2 +5V 3 X_CLK 4 X_DIR 5 ENABLE 6 GND 7 +5V 8 Y_CLK 9 Y_DIR 10 ENABLE 11 GND 12 +5V 13 Z_CLK 14 Z_DIR 15 ENABLE 16 NC Rozkład numeracji oraz sygnałów na złączu MOTORS. Na złączu sygnały rozmieszczono tak aby można było łatwo rozdzielić taśmę na trzy części (po 5 linii) i w prosty sposób połączyć z poszczególnymi sterownikami osi. Dla sygnału ENABLE stanem aktywnym jest stan wysoki (H). Do wyjść +5V absolutnie nie należy podłączać jakichkolwiek zewnętrznych źródeł napięcia. Strona 4

Sposób podłączenia typowego drivera z optoizolacją Złącze MOTORS +5V CLK DRIVER PUL+ +5V DIR+ DIR +5V ENABLE ENA+ PUL- DIR- ENA- Połączenie zakończeń taśmy z listwami zaciskowymi: obrobione końcówki taśmy warto zaopatrzyć w końcówki tulejkowe. Najlepiej zastosować rurki o takiej średnicy aby w środek mieściła się także (na styk) izolacja żyły. Zagniecenie rurki wraz z krótkim odcinkiem izolacji daje bardzo trwałe i pewne zakończenie taśmy. Strona 5

Listwa zaciskowa Nazwa Podstawowa funkcja Typ wejścia I3 Wejście przycisku PAUZA NO I2 Wejście przycisku STOP NO I1 Wejście przycisku START NO LIM ZL Wejście krańcówki dolnej osi Z NO/NC LIM YL Wejście krańcówki lewej osi Y NO/NC LIM XL Wejście krańcówki lewej osi X NO/NC LIM ZR Wejście krańcówki górnej osi Z NO/NC LIM YR Wejście krańcówki prawej osi Y NO/NC LIM XR Wejście krańcówki prawej osi X NO/NC HOME Z Wejście krańcówki home osi Z NO HOME Y Wejście krańcówki home osi Y NO HOME X Wejście krańcówki home osi X NO ES Wejście przycisku E-Stop NO/NC I4 Wejście przycisku RESET NO COM PWM Wspólne dla wszystkich wejść Wyjście PWM O1 Wyjście sterowania przekaźnika 1 O2 Wyjście sterowania przekaźnika 2 V+ Wspólne dla wszystkich wyjść VCC / GND Wejścia zasilania sterownika (12V lub 24V DC) Sygnały na listwie zostały tak wyprowadzone, że dla każdego dolnego gniazda parą jest górne gniazdo (przesunięte nieco w lewo). Strona 6

Schematy wewnętrzne I/O na listwie. +VCC_IN IN COM GND_IN Schemat wewnętrzny toru wejściowego wszystkich wejść kontrolera. WTA 500mA GND VCC +V OUT 12V / 24V PK uc Schemat wewnętrzny wyjść O1-07 sterownika oraz podłączenie przekaźnika. Strona 7

Podłączenie zasilania. Zasilacz 12V lub 24V DC Iout >=200mA - + Napięcie zasilające układ może być 12V lub 24V Należy tylko pamiętać, że przekaźniki sterujące muszą być na to samo napięcie co zasilanie układu! Tak więc jeżeli zasilamy układ napięciem 12V to musimy zastosować przekaźniki z cewką na 12V. Kontroler posiada zabezpieczenie na wypadek podłączenia odwrotnie polaryzacji zasilania. Strona 8

Podłączenie krańcówek HOME.. = Styki NO Czujnik wysokości materiału Czujnik długości narzędzia Czujnik długości lub wysokości w formie płytki stykowej Krańcówki HOME jak i wszystkie czujniki długości i wysokości mogą być wyłącznie jako NO. Należy zadbać aby przy bazowaniu nie następowało przejeżdżanie krańcówek HOME tzn rozłączania ich przy najeździe - spowodowanym np. długą drogą hamowania osi. Strona 9

Podłączenie krańcówek LIMIT.... = Styki NO lub NC Krańcówki LIMIT mogą być zarówno jako NC jaki i NO. Konfigurujemy w ustawieniach zakładka Maszyna 1/2 - Konfiguracja wejść. Rozmieszczenie krańcówek LIMIT na maszynie. Krańcówki LIMIT muszą być tak zainstalowane aby po najechaniu na nie było jeszcze trochę miejsca (kilka mm) na ewentualne wyhamowanie silnika. Oczywiście krańcówki HOME muszą być przed krańcówkami LIMIT tzn. najpierw maszyna musi najechać na krańcówkę HOME. Strona 10

Podłączenie krańcówek zbliżeniowych (wariant z dwoma zasilaczami) NPN NO/NC BLUE BLACK BROWN - + - + Uwaga! Czujniki zbliżeniowe muszą mieć wyjście typu NPN! Zamiast krańcówek mechanicznych można stosować krańcówki zbliżeniowe jednak mogą być tylko z wyjściem typu NPN. Co do stosowania NO/NC jest tak jak przy krańcówkach mechanicznych. Pewnym problemem jest zasilanie takich krańcówek. Możemy albo stosować osobny zasilacz do krańcówek nie tracimy wtedy izolacji galwanicznej na wejściach. Lub zasilać je z tego samego źródła, z którego zasilamy kontroler lecz wtedy tracimy izolację galwaniczną wejść (rysunek niżej). Strona 11

Podłączenie krańcówek zbliżeniowych (wariant z jednym zasilaczem) NPN NO/NC BLUE BLACK BROWN - + Uwaga! Czujniki zbliżeniowe muszą mieć wyjście typu NPN! Strona 12

Wykorzystanie wejść LIMIT jako wejść JOG-a. RESET Z- Z+ Y+ X- X+ SLOW / FAST Y- COM do wszystkich Kiedy nie korzystamy z krańcówek LIMIT wejścia możemy przeznaczyć na JOG-a (ręczny manipulator osiami). Aby ta funkcja działa osie muszą mieć inne tryby niż ograniczanie krańcówkami, a także musi być włączony w zakładce Maszyna 2/2 Jog zewnętrzny. Można tam też ustawić prędkość niską i wysoką (z przyciśniętym przyciskiem RESET). Strona 13

Podłączenie przycisków sterujących. I3 I2 I1 L_ZL L_YL L_XR L_ZR L_YR L_XR H_Z H_Y H_X E_ST I4 O1 O2 PWM VCC PAUZA STOP START RESET Za pomocą przycisków można zdalnie kontrolować prace maszyny. Dodatkowo mamy następujące kombinacje: Przyciśnięcie przycisku PAUZA razem z przyciskiem RESET inicjuje cykl jazdy referencyjnej. Przyciśnięcie przycisku STOP razem z przyciskiem RESET inicjuje cykl pomiaru wysokości materiału. Podłączenie przycisku bezpieczeństwa Styk NO lub NC Przycisk bezpieczeństwa może być skonfigurowany zarówno jako NC jaki i NO. Jednak z wielu powodów lepiej ustawić NC. Konfigurujemy w ustawieniach zakładka Maszyna 1/2 - Konfiguracja wejść. Strona 14

Podłączenie cewki przekaźnika do OUT1 Podłączenie cewki przekaźnika do OUT2 Strona 15

Podłączenie modułu konwerter PWM-> 0-10V. 0-10V do falownika PWM IN+ PWM IN- VCC+ VCC- Moduł PWM umożliwia sterowanie obrotami wrzeciona zasilanego z falownika. Wszelkie ustawienia dotyczące PWM są w zakładce I/O PWM. Moduły PWM są wykonywane w dwóch wariantach zasilania 12V i 24V. Zatem należy się zaopatrzyć w moduł odpowiedni do zasilania kontrolera. Moduł jedynie zadaje napięcie decydujące o obrotach wrzeciona. Do sterowania falownikiem potrzebny jest także przekaźnik (pod O1), który będzie załączał wejście START falownika. Strona 16

Złącze ''J1 (IDC10). 2 1 10 9 1 10 1 ENABLE_OC 2 V+ 3 OUT7 (SIGNAL START / STOP / PAUZA) 4 V+ 5 OUT6 (SIGNAL AUTO / MANUAL) 6 V+ 7 OUT5 (CLK osi technicznej) 8 V+ 9 OUT4 (DIR osi technicznej) 10 V+ Rozkład numeracji oraz sygnałów na złączu J1. Schemat wewnętrzny wyjść jest taki sam jak w przypadku wyjść na listwie zaciskowej. Strona 17

Podłączenie osi A / technicznej Uwaga! Oporniki są obowiązkowe. Ich niezastosowanie spowoduje uszkodzenie drivera! VCC=12V R=1K 1/4W VCC=24V R=2K 1/4W Złącze J1 (10pin) 8 (V+) R DRIVER PUL+ 7 (OUT5) PUL- 10 (V+) R DIR+ 9 (OUT4) DIR- +5V ENA+ ENABLE ENA- Złącze MOTORS Oś A oraz oś techniczna korzystają z tych samych wyjść dlatego nie mogą być używane jednocześnie. W trybie osi A obsługiwane są dodatkowo następujące sygnały: LIM_YL HOME W trybie osi technicznej obsługiwane są dodatkowo następujące sygnały: LIM_XR LIM_XL LIM_YL Zewnętrzny JOG- Zewnętrzny JOG+ HOME Strona 18

Podłączenie THC ARC THC DOWN PROBE UP COM Kiedy do sterowania osi palnika używamy osi technicznej można THC podpiąć bezpośrednio do kontrolera. Aby oś techniczna działa prawidłowo musi być skonfigurowana jak na obrazku u dołu. Jedynie, zależnie od tego jaki mamy podział kroku, musimy indywidualnie dobrać F pracy czyli częstotliwość impulsów STEP. Oś techniczna nie ma ramp przyśpieszania / hamowania dlatego częstotliwość nie może być zbyt duża aby silnik nie wpadał w poślizg, a także nie gubił kroku. Ustawienia z grupy zaznaczonej na zielono umożliwiają sygnałowi Corner blokować wejścia jog osi technicznej gdy maszyna zwalnia na zakrętach. Wykorzystanie wejścia HOME_Z do detekcji łuku jest umowne - zależy od tego co umieścimy w makro M3. Sygnał PROBE może służyć do szukania poziomu (zera) materiału. Przykłady prostej sekwencji M3 % SetOut(1,TRUE); // Załączenie wyjścia OUT1 if (not InputHomeZ) then Wait; // Oczekiwanie na sygnał ARC Delay(100); // Czekamy jeszcze sekundę i program rusza. Strona 19

Przykład sekwencji M3 wykorzystującej oś techniczną i sygnał PROBE. const // Deklaracje stałych Z_POS_MM=10; // Wysokość uniesienia palnika IMP_PER_MM=400; // Ilość impulsów na mm % TAMoveRef(); // Jazda palnika w dół do momentu pojawienia się sygnału PROBE TAMove(Z_POS_MM*IMP_PER_MM); // Uniesienie palnika na zadaną wysokość SetOut(1,TRUE); // Załączenie plazmy if (not InputHomeZ) then Wait; // Oczekiwanie na sygnał ARC TAJogExt(TRUE); // Załączenie sterowania osią z THC Przykład prostej sekwencji M5. % SetOut(1,FALSE); // Wyłączenie palnika Przykład prostej sekwencji M5 z osią techniczną. const Z_POS_MM=40; // Deklaracje stałych // Wysokość uniesienia palnika IMP_PER_MM=400; // Ilość impulsów na mm % TAJogExt(FALSE); // Wyłączenie THC SetOut(1,FALSE); // Wyłączenie palnika TAMove(Z_POS_MM*IMP_PER_MM); // Uniesienie palnika na zadaną wysokość (jeśli // w M3 używamy PROBE) Strona 20

Konfiguracja osi technicznej do THC. Strona 21

Podłączenie sterownika głowicy wykuwającej VCC=12V R=1K 1/4W VCC=24V R=2K 1/4W V+ R DRIVER PUL+ PUL- V+ R DIR+ DIR- +5V ENA+ ENABLE ENA- Złącze MOTORS Jest to podłączenie gdy silnik głowicy sterowany jest sygnałem STEP/DIR. Jeśli sterownik głowicy sterowany jest tylko jednym sygnałem, wtedy używamy samego sygnału DIR (O1). W ustawieniach musimy określić szerokość impulsu wykuwania. Strona 22

Podłączenie dalmierza laserowego z wyjściem 4-20mA Wejście układu pomiarowego znajduje się jak na rysunku. Na wyjściu dalmierza należy zastosować konwerter 4-20mA na napięcie 0-3,3V. Aktualny pomiar z przetwornika można zawsze zobaczyć w oknie monitora (zakładka I/O), A także w okienku skanowania. Prosty konwerter 4-20mA na 3,3V Należy zwrócić uwagę aby napięcie wejściowe przetwornika ADC nigdy nie przekroczyło 3,3V - Nie zastosowanie się do tego grozi uszkodzeniem mikroprocesora!!! Strona 23