Indholdsfortegnelse:

JALPIC One Development Board: 5 trin (med billeder)
JALPIC One Development Board: 5 trin (med billeder)

Video: JALPIC One Development Board: 5 trin (med billeder)

Video: JALPIC One Development Board: 5 trin (med billeder)
Video: How factories make PCB? Real pcb manufacturer shows you the PCB manufacturing process step by step 2024, November
Anonim
JALPIC One Development Board
JALPIC One Development Board

Hvis du følger mine Instructables -projekter, ved du, at jeg er en stor fan af JAL -programmeringssproget i kombination med PIC Microcontroller. JAL er et Pascal-lignende programmeringssprog udviklet til 8-bit PIC-mikrokontrollerne i Microchip. De fleste kender Arduino ved hjælp af ATMEL -mikrokontrolleren. En af de gode ting ved et Arduino -kort er, at du kan programmere mikrokontrolleren uden behov for en separat programmerer.

Dette fravær af behovet for en programmør bragte mig til dette projekt. Jeg ville lave et Arduino Uno -lignende bord til PIC -mikrokontrolleren, der udviklede softwaren til dette kort med JAL -programmeringssproget. Brættet behøvede ikke at have den nøjagtige størrelse på Arduino Uno -kortet, men konnektorerne på brættet skulle have - hvor det er muligt - de samme forbindelser som forbindelserne til en Arduino Uno. Og så blev udviklingsbestyrelsen JALPIC One født.

Trin 1: Design af tavlen

Design af bestyrelsen
Design af bestyrelsen
Design af bestyrelsen
Design af bestyrelsen

Inden jeg startede designet, kiggede jeg godt på Arduino -designet og besluttede følgende:

  • Jeg ville have, at tavlen skulle bygges med standardkomponenter, så ingen Surface Mount Design (SMD). Grunden til dette er, at det ville være lettere for hobbyfolk at samle tavlen.
  • Stikkene skal have så meget som muligt samme funktionalitet som Arduino Uno. På frontbilledet har jeg endnu ikke samlet stikkene.
  • Kontrol af tavlen skulle udføres af en PIC, og denne PIC skulle programmeres ved hjælp af JAL programmeringssprog.
  • Til testformål bør tavlen have en LED, som du kan styre fra PIC'en, der kører applikationen. Denne funktion er også til stede på Arduino Uno.
  • PIC'en, der kører applikationen, skal have tilstrækkelig hukommelse og RAM til nem applikationsudvikling.

I det vedlagte skematiske diagram finder du designet af JALPIC One udviklingsbord. Jeg inkluderede også et skærmbillede af printkortet. Ligesom Arduino kan kortet drives af USB -porten via en ekstern jævnstrømforsyning, når den bruges alene.

Jeg tilføjede et billede, der viser udviklingsbordet Arduino og JALPIC One.

Applikationen PIC på tavlen er programmeret ved hjælp af hex -filen, der er oprettet af JAL -kompilatoren.

Trin 2: Påkrævede komponenter

Påkrævede komponenter
Påkrævede komponenter

Du skal have følgende komponenter til dette projekt ved siden af selve tavlen:

IC

  • 1 * LM2940CT-5.0: IC1
  • 1 * LM3940IT-3.3: IC2
  • 1 * PIC16F18557P: IC3 (applikations PIC)
  • 1 * PIC16F1455P: IC4 (kontrol PIC)

Krystal

  • 1 * 20 MHz: Q1
  • 1 * 12 MHz: Q2

Diode

  • 1 * 1N4004: D1
  • 1 * 1N4148: D2

LED

  • 1 * Gul LED: LED1
  • 1 * Gul LED: LED2
  • 1 * Rød LED: LED3

Stik

  • 1 * Power Jack: J1
  • 1 * USB -stik: X1
  • 2 * 6-benet header: SV2, SV5
  • 2 * 8-benet header: SV1, SV4
  • 1 * 10-benet header: SV3
  • 1 * 3-polet jumper: JP1
  • 1 * 2-polet jumper: JP2

Kondensator

  • 4 * 22 pF: C1, C3, C11, C13
  • 5 * 100 nF: C2, C6, C7, C8, C 9
  • 1 * 470 nF/Keramik: C10

Elektrolytisk kondensator

3 * 10 uF/25V: C4, C5, C12

Modstand

  • 2 * 22 Ohm: R10, R11
  • 2 * 330 Ohm: R1, R8
  • 6 * 1 kOhm: R2, R3, R4, R5, R6, R7
  • 1 * 33 kOhm: R9

Kontakt

1 * Omron trykknap: S1

I det vedhæftede layout af tavlen kan du se, hvor hver komponent skal gå.

Trin 3: Board -softwaren

Det meste af arbejdet var udvikling af kontrolsoftwaren til kontrol PIC på tavlen. Tavlen har et enkelt kommandosæt til at slette applikationens PIC, programmere applikationen PIC og nogle flere kommandoer. Som nævnt blev den skrevet i JAL. Der er 3 hovedkomponenter i softwaren:

  1. Hovedprogrammet, der forsyner interfacet med USB, fortolker kommandoerne og sender svarene.
  2. Hexfil -parseren, som kontrollerer indholdet af hex -filen, udtrækker adressen og data, der skal programmeres.
  3. Programmereren, der sletter hukommelsen for applikations -PIC'en og programmerer applikations -PIC'en med dataene fra parseren.

Da kontrol-PIC ikke har en stor intern hukommelse, foretages parsing af hex-filen i realtid og linje for linje, hvorefter dataene videregives til programmeringssoftwaren, som derefter også programmerer applikationen PIC på en linje efter linje.

Den vedhæftede hex -fil kan bruges til at programmere controllerens PIC.

Trin 4: Sådan ser et applikationsprogram ud

Da hardware til applikationen PIC er kendt, kan en simpel inkluderingsfil bruges til at definere alle slags indstillinger, der er nødvendige for, at applikations PIC'en kan fungere. Personen, der skriver programmet, kan derefter fokusere på selve programmet. Et simpelt blink-a-led program i JAL ser derefter ud som følger:

inkludere jalpic_one - inkludere bestyrelsesdefinitionsfilen

enable_digital_io () - gør alle stifter digitale I/O

alias led er pin_a0 - alias til pin med LED

pin_a0_direction = OUTPUT

for evigt loop

led = ON

_usec_delay (100_000)

LED = FRA

_usec_delay (400_000)

slutsløjfe

Dette program bruger LED'en, der er til stede på JALPIC One -udviklingsbordet. Når programmet er færdigt, er kun 1 klik på en knap i en editor kaldet JalEdit tilstrækkeligt til at kompilere programmet og downloade det til tavlen. Den korte video viser, hvordan dette fungerer.

Trin 5: Byg selv bestyrelsen

Jeg kunne ikke beskrive alt i denne Instructable, men hele tavlens design, software og dokumentation kan downloades fra en af Jallib -udgivelserne under mappen ‘project / jalpic_one’.

Da denne nye udvikling endnu ikke officielt er udgivet i en ny version Jallib, skal den downloades ved hjælp af den nyeste 'bi-pakke' fra JAL-downloadsitet.

Downloadwebstedet kan findes på: Just Another JAL Website

God fornøjelse med at bygge dit eget projekt og glæde dig til dine reaktioner.

Anbefalede: