Wiertarka do pcb z posuwem
- Jacek
- Posty: 384
- Rejestracja: 25 kwie 2016, 19:14
Re: Wiertarka do pcb z posuwem
Pan Bartek dziękuję za prezent na Mikołaja jak tylko poprawie mechanikę podnoszenia dyszy ssącej bo źle wymyśliłem to zaraz będę próbował.
pozdrawiam Jacek.
pozdrawiam Jacek.
- Jacek
- Posty: 384
- Rejestracja: 25 kwie 2016, 19:14
Re: Wiertarka do pcb z posuwem
Kompilator wywala mi błędy ale mam wszystko dopisane jak napisałeś Bartek
patrzyłem w innych programach jak mam "Select Case" i mam podobnie zrobione, błąd 1 w linii 222 nieznane stwierdzenie, w błąd 35 linii 223 oczekiwane 3 parametry i błąd 350 w linii 223 przerwanie wymaga powrotu - ale jest return możesz wyjaśnić co jest nie tak.
pozdrawiam Jacek
patrzyłem w innych programach jak mam "Select Case" i mam podobnie zrobione, błąd 1 w linii 222 nieznane stwierdzenie, w błąd 35 linii 223 oczekiwane 3 parametry i błąd 350 w linii 223 przerwanie wymaga powrotu - ale jest return możesz wyjaśnić co jest nie tak.
pozdrawiam Jacek
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
- niveasoft
- Posty: 1239
- Rejestracja: 17 sie 2015, 12:13
- Kontakt:
Re: Wiertarka do pcb z posuwem
Moim zdaniem nie widzi tych stały i zmiennej Czynnosc. Dopisałes to?
Kolejność też jest ważna jak Ty wszystkie suby pakujesz do osobnych plików. To troche przerost formy. Rozumiem jakis zbiór komend dla silnika ale żeby kazdy sub miał plik...
Kolejność też jest ważna jak Ty wszystkie suby pakujesz do osobnych plików. To troche przerost formy. Rozumiem jakis zbiór komend dla silnika ale żeby kazdy sub miał plik...
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- Const Speed_max = 250
- Const Speed_min = 10
- Const Rozpedzanie = 1
- Const Zwalnianie = 2
- Dim Czynnosc As Byte
- Jacek
- Posty: 384
- Rejestracja: 25 kwie 2016, 19:14
Re: Wiertarka do pcb z posuwem
Witam tak Bartku mam wszystko jak napisałeś
dziwnie że kompilator nie widzi stałych w innych programach stałe mam do komunikacji mikrokontrolera i to działa.
pozdrawiam Jacek.
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- '****************************************************************
- $regfile = "m328pdef.dat"
- $crystal = 16000000
- $hwstack = 64
- $swstack = 64
- $framesize = 128
- $baud = 115200
- $eepleave
- Config Submode = New
- '****************************************************************
- 'KONFIGURACJA PORTU COM
- Config Com1 = 115200 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
- Config Serialin = Buffered , Size = 128
- Config Serialout = Buffered , Size = 128
- Enable Serial
- '****************************************************************
- 'Debug Off
- Debug On
- '****************************************************************
- $include "Subs\Blink_.inc"
- $include "Subs\Display_.inc"
- $include "Subs\Hold_stepper.inc"
- $include "Subs\Left_stepper.inc"
- $include "Subs\Right_stepper.inc"
- '$include "Subs\LCD_ST7920_seriell_declare.inc"
- '$include "Subs\LCD_ST7920_seriell_sub.inc"
- '****************************************************************
- 'KONFIGURACJA TIMER'ÓW
- Config Timer0 = Timer , Prescale = 8
- On Timer0 Przer_timer0
- Enable Timer0
- Config Timer1 = Timer , Prescale = 8
- On Timer1 Przer_timer1
- Enable Timer1
- Config Timer2 = Timer , Prescale = 8
- On Timer2 Step_
- Enable Timer2
- 'Config Timer1 = Pwm , Pwm = 8 , Compare_a_pwm = Clear_up , Compare_b_pwm = Clear_down , Prescale = 1
- 'Config Timer2 = Pwm , Compare_a_pwm = Clear_up , Compare_b_pwm = Clear_up , Prescale = 1024
- 'Enable Timer2
- 'On Timer2 Step_
- 'Config Timer2 = Pwm , Compare_a = Toggle , Compare_b = Toggle , Prescale = 8
- 'Enable Timer2
- '****************************************************************
- Enable Interrupts
- '****************************************************************
- ' *** PINY ****
- ' LCD ST9720 ATMEGA LCD 12864ZW-10 ESD4K
- ' RS (4) - PORTD.7 SPI ---> SS
- ' R/W (5) - PORTB.0 SPI ---> MOSI
- ' EN (6) - PORTB.1 SPI ---> SCK
- ' PBS (15) -GROUND GND
- ' RST (17) - reset processor RESET
- '****************************************************************
- 'KONFIGURACJA PORTÓW
- Config portb.0 = Output : portb.0 = 1 'Laser ON/OFF
- Config Portb.1 = output : portb.1 = 1 'Light ON/OFF '
- Config portb.2 = Output : portb.2 = 1 'PWM Spindle Motor
- Config Portb.3 = Output : portb.3 = 1 'Dir Spindle Motor
- Config Portb.4 = Input : pinb.4 = 1 'Encoder Sw
- Config Portb.5 = Output : Portb.5 = 0 'LED_LIVE
- Config portd.2 = Output : portd.2 = 1 'Dir Stepper Motor
- Config portd.3 = Output : portd.3 = 1 'Step Stepper Motor
- Config portd.4 = Output : portd.4 = 1 'Enable Spindle Motor
- Config portd.5 = Output : portd.5 = 1 'Enable Stepper Motor
- Config portd.6 = Input : pind.6 = 1 'Sw start
- Config Portc.0 = Input : pinc.0 = 1 'Sw up
- Config portc.1 = Input : pinc.1 = 1 'Sw down
- Config portc.2 = Input : pinc.2 = 1 'Encoder A
- Config portc.3 = Input : pinc.3 = 1 'Encoder B
- '****************************************************************
- 'ALIASY PORTÓW
- PWM_spindle Alias Portb.2 'PWM Spindle Motor
- Dir_spindle Alias portb.3 'Dir Spindle Motor
- Sw_enc Alias pinb.4 'Encoder Sw
- Led_live Alias Portb.5 'LED shows that the microcontroller did not hang
- Dir_stepper Alias portd.2 'Dir Stepper Motor
- Step_stepper Alias portd.3 'Step Stepper Motor
- Ena_spindle Alias portd.4 'Enable Spindle Motor
- Ena_stepper Alias portd.5 'EnableStepper Motor
- Sw_start Alias pind.6 'cycle start button
- Sw_up Alias pinc.0 'upper limit switch
- Sw_down Alias pinc.1 'lower limit switch
- A_enc Alias pinc.2 'channel A encoder
- B_enc alias pinc.3 'channel B encoder
- Laser Alias Portc.4 'Laser ON/OFF
- Light Alias Portc.5 'Light ON/OFF
- '****************************************************************
- 'ZMIENNE CZASU
- Dim Timer_tikx10 As Byte 'variable counting timer overflow
- Dim Timertikx100 As Byte
- Dim Timertikx200 As Byte
- Dim Timer_tik_flag As Byte
- Flaga10ms Alias Timer_tik_flag.0
- Flaga100ms Alias Timer_tik_flag.1
- Flaga500ms Alias Timer_tik_flag.2
- Flaga1s Alias Timer_tik_flag.3
- Flaga2s Alias Timer_tik_flag.4
- Flaga2_5s Alias Timer_tik_flag.5
- 'zostaly jeszce trzy wolne flagi
- ' a uzylem tylko jednego bajtu
- ' Paweł - pikczu
- Dim Timer0_tik_flag As Byte
- Flaga4ms Alias Timer0_tik_flag.6
- '****************************************************************
- 'STAŁE
- Const Speed_max = 250
- Const Speed_min = 10
- Const Rozpedzanie = 1
- Const Zwalnianie = 2
- '****************************************************************
- 'ZMIENNE
- Dim Enc_help As Byte
- Dim Sw_enc_help As Byte
- Dim Stepper_speed As Dword
- Dim Stepper_speed_old As Dword
- Dim Spindle_speed As Byte
- Dim Czynnosc As Byte
- '****************************************************************
- Waitms 500
- '****************************************************************
- 'USTAWIENIA POCZATKOWE 'INITIAL SETTINGS
- 'Stepper_speed = 0
- '****************************************************************
- 'PĘTLA GŁÓWNA 'MAIN LOOP
- '****************************************************************
- Do
- '****************************************************************
- If Timer_tikx10 >= 10 Then 'jesli uplynelo 100ms to
- Flaga100ms = 1 'ustaw flage uplynelo 100ms
- Incr Timertikx100
- Timer_tikx10 = 0 ''zeruj liczenie
- End If
- If Timertikx100 >= 10 Then 'jesli uplynela sekunda
- Flaga1s = 1 'ustaw flage sekundy
- Incr Timertikx200
- Timertikx100 = 0 'zeruj liczenie
- End If
- If Timertikx200 >= 2 Then
- Flaga2s = 1
- Timertikx200 = 0
- End If
- If Flaga10ms = 1 Then
- Flaga10ms = 0
- End If
- If Flaga100ms = 1 Then 'co 100ms
- Flaga100ms = 0 'wyzeruj Flaga100ms
- End If
- If Flaga1s = 1 Then 'co 1 sekundę
- Call Blink_
- If Sw_up = 0 Then
- Print "WRZECIONO U GORY" 'SPINDLE AT THE TOP
- End If
- If Sw_down = 0 Then
- Print "WRZECIONO NA DOLE" 'SPINDLE AT THE BOTTOM
- End If
- If Sw_start = 0 Then
- Print "START CYKLU" 'CYCLE START
- End If
- 'Call Display_
- Flaga1s = 0
- End If
- If Flaga2s = 1 Then 'co2s
- Flaga2s = 0
- End If
- '****************************************************************
- If Sw_up = 0 Then
- Call Hold_stepper
- End If
- If Sw_start = 0 Then
- Call Left_stepper
- ' Else
- ' Call Right_stepper
- End If
- If Sw_down = 0 Then
- Call Right_stepper
- End If
- '****************************************************************
- '****************************************************************
- '****************************************************************
- Loop
- '****************************************************************
- End
- '****************************************************************
- 'PODPROGRAM PRZERWAŃ TIMER1
- Przer_timer1:
- Timer1 = 45536 'wstawienie do Timer1 wartości 45536
- Incr Timer_tikx10
- If Timer_tikx10 = 1 Then
- Set Flaga10ms
- End If
- Return
- '****************************************************************
- 'PODPROGRAM PRZERWAŃ TIMER0
- Przer_timer0:
- Timer0 = 156 'wstawienie do Timer0 wartości 6
- Incr Timer0_tik_flag
- If Timer0_tik_flag = 1 Then
- Set Flaga4ms
- End If
- Return
- '****************************************************************
- Step_:
- Select Case Czynnosc 'Action
- Case Rozpedzanie: 'Speeding up
- If Stepper_speed < Speed_max Then Incr Stepper_speed
- Case Zwalnianie: 'Releasing
- If Stepper_speed > Speed_min Then Decr Stepper_speed
- End Select
- Timer2 = Stepper_speed
- Toggle Step_stepper
- Return
- '****************************************************************
dziwnie że kompilator nie widzi stałych w innych programach stałe mam do komunikacji mikrokontrolera i to działa.
pozdrawiam Jacek.
- niveasoft
- Posty: 1239
- Rejestracja: 17 sie 2015, 12:13
- Kontakt:
Re: Wiertarka do pcb z posuwem
Mi się to kompiluje ALE DOPIERO jak poprawiłem składnie.
Ostatnio była podobna akcja na Forum MCS i tam pokazywałem, że jak się kod skądś przekleja to czesto wkradają się niewidoczne znaki czyli błędy.
LINK
Jak nie wiadomo o co chodzi to należy kod otworzyć w Notepad++ i poszukać niewidocznych znaków i je usunąć.
U Ciebie tego było dużo co widac na screenach (Notepad++ zaznacza takie rzeczy na czerwono).
Po wyczyszczeniu masz projekt który sie kompiluje.
Ostatnio była podobna akcja na Forum MCS i tam pokazywałem, że jak się kod skądś przekleja to czesto wkradają się niewidoczne znaki czyli błędy.
LINK
Jak nie wiadomo o co chodzi to należy kod otworzyć w Notepad++ i poszukać niewidocznych znaków i je usunąć.
U Ciebie tego było dużo co widac na screenach (Notepad++ zaznacza takie rzeczy na czerwono).
Po wyczyszczeniu masz projekt który sie kompiluje.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
- Jacek
- Posty: 384
- Rejestracja: 25 kwie 2016, 19:14
Re: Wiertarka do pcb z posuwem
Kurczaki o tym nie pomyślałem że tak może się dziać po skopiowaniu z przeglądarki dzięki,
Notepad++ mam kiedyś Paweł pikczu mi podpowiedział że łatwo nim porównywać kody.
dzięki Bartek.
pozdrawiam Jacek.
Notepad++ mam kiedyś Paweł pikczu mi podpowiedział że łatwo nim porównywać kody.
dzięki Bartek.
pozdrawiam Jacek.
- niveasoft
- Posty: 1239
- Rejestracja: 17 sie 2015, 12:13
- Kontakt:
Re: Wiertarka do pcb z posuwem
To wszystko z doświadczenia ale dziwnie sie potem słucha/czyta "stary lis" ahahahahahaha "
Powinno gdzies być zdefiniowane "doświadczony lis" ahahahahaha
Powinno gdzies być zdefiniowane "doświadczony lis" ahahahahaha
- Jacek
- Posty: 384
- Rejestracja: 25 kwie 2016, 19:14
Re: Wiertarka do pcb z posuwem
Włączyłem tą opcję na stałe i teraz w razie kopiowania z innych źródeł będzie widać jeszcze raz dzięki.
pozdrawiam Jacek.
pozdrawiam Jacek.
- Jacek
- Posty: 384
- Rejestracja: 25 kwie 2016, 19:14
Re: Wiertarka do pcb z posuwem
Witam na wstępie chcę podziękować Bartkowi wiertarka zaczęła żyć https://www.youtube.com/watch?v=Ix6G-es0KuI
musiałem zmienić system unoszenia dyszy bo pierwotny pomysł nie zdał egzaminu.
pozdrawiam Jacek.
musiałem zmienić system unoszenia dyszy bo pierwotny pomysł nie zdał egzaminu.
pozdrawiam Jacek.
- Jacek
- Posty: 384
- Rejestracja: 25 kwie 2016, 19:14
Re: Wiertarka do pcb z posuwem
Witam - mały update https://www.youtube.com/watch?v=g37LFzBqkqE
pozdrawiam Jacek.
pozdrawiam Jacek.