Arduino - CNC ohýbačka trubek

ohybacka

Byl jsem osloven návrhem zařízení na ohýbání trubek. Ovládání je uživatelsky přívětivé pomocí samolepící plastové maticové klávesnice a zobrazení na LCD displeji 16x2 znaků. Zařízení má autokalibraci snímače polohy (enkoderu), tím je usnadněna instalace na stroj a nastavení před prvním použitím.

IMG 20141121 105124IMG 20141121 105211IMG 20141121 105316IMG 20141121 105332

ZDARMA

  • hex pro procesor

DONATE

  • zdroj + hex pro Arduino IDE

 

Video - pohled na prototyp (na stole)

CNC ohýbačka parametry

  • zobrazení: LCD displej 16x2 znaků (PCF převodník na I2C sběrnici na adrese 0x38) - připojeno na Arduino pin SDA-A4, SCL-A5, +5V, 0V
  • vstup: 2x koncový spínač (rozpínací kontakt) pro polohu 0 a 360 stupňů - připojeno na Arduino pin 16 (A2) kontakt 0 stupňů, pin 17 (A3) kontakt 360 stupňů
  • výstup: 2x relé modul pro reverzaci moturu pohonu - připojeno na Arduino pin 14 (A0) relé pohyb směrem vlevo (do nula stupňů), pin 15 (A1) relé pohyb směrem vpravo (do 360 stupňů)
  • napájení: spínaný zdroj 230V AC na 5V DC / 1A
  • snímání polohy (úhlu): rotační enkoder (nutno zpřevodovat n-krát oproti hlavní hřídely, tj. příklad pozice 0-360 stupňů stroje je 0-2000 enkoderu) - připojeno na Arduino pin 2 (kontakt A), pin 3 (kontakt B), zem 0V, +5V
  • vkládání údajů: maticová klávesnice 5x4 tlačítek - připojeno na Arduino piny: sloupce 4,5,6,7 řádky 12,11,10,9,8
  • zvuková potvrzení: piezo reproduktor - připojeno na Arduino pin 13 a zem 0V
  • nastavení polohy: lze nastavit ohyb 0-360 stupňů (reálně v provozu k tomuto nikdy nedojde, chtěl bych vidět ohlou rouru o 360 stupňů :-) )

Ovládání

a) kalibrace:
-> po zapnutí napájení držíme na klávesnici tlačítko * (hvězdička) proběhne kalibrace snímače polohy (provádíme pouze po snímače na stroj, nebo v případě výměny enkoderu za jiný typ - jiný počet pulsů na otočku).
-> sepne se relé pro posun do polohy "0" a čeká se, až stroj najede na koncák "0" stupňů (relé vypne). Vynuluje se hodnota počítadla snímače.
-> sepne se relé pro posun do polohy "360" a čeká se, až stroj najede na koncák "360" stupňů (relé vypne). Uloží se počet pulsu enkoderu pro 360 stupňů do paměti EEPROM Arduina.
-> sepne se relé pro posun do polohy "0" a čeká se, až stroj najede na koncák "0".
-> stroj bude čekat na povely z klávesnice.

b) provoz:
-> stroj po zapnutí napájení čeká na reakci uživatele "Stiskni enter pro start".
-> pokud potvrdíme klávesou Ent spustí se motor vlevo (se relé pro posun do polohy "0" a čeká se, až stroj najede na koncák "0" stupňů poté relé vypne). Tato funkce slouží k tomu, aby když stroj zůstal někde na dráze a      vypnulo se napájení začínal počítat vždy od nuly (reset).
-> na displeji se zobrazuje vlevo: zadaná hodnota úhlu (lze ji měnit šipkou "nahoru" nebo šipkou "dolu", nebo zadáváme úhel na klávesnici (pokud stiskneme "*" smažeme údaj).
   úhel může být v rozmezí (0-360). Vpravo: aktuální úhel stroje.
-> po zmáčknutí klávesy enter se zobrazí okno pro potvrzení "Opravdu spustit?" a "ENT(ano) ESC(ne)" startu stroje. Když dáme "enter" stroj se spustí, když dáme "esc" můžeme upravit úhel na jiný úhel a opět pokračovat "entr".
-> pokud se stroj spustil zobrazuje na displeji "Aktuální pozice" stroje ve stupních (motor běží doprava a kontroluje skutečnou polohu se zadanou polohou).
-> pokud stroj dorazil na stanovenou polohu motor vypne a na displeji se zobrazí "Upravit=ENT" a "Domů=ESC". Můžeme tedy zadat jinou vyšší hodnotu úhlu (stroj dojede dále), nebo se vrátíme na výchozí polohu (tj. 0 stupňů)

Fotografie modulů

IMG 20141128 121434

IMG 20141128 121316

IMG 20141128 121324

IMG 20141128 121330

IMG 20141128 121337

IMG 20141128 121343

IMG 20141128 121347

IMG 20141128 121358

IMG 20141128 121412

IMG 20141128 121428