Inhoudsopgave:
- Stap 1: Het bord ontwerpen
- Stap 2: Vereiste componenten
- Stap 3: De bordsoftware
- Stap 4: Hoe een toepassingsprogramma eruitziet?
- Stap 5: Zelf het bord bouwen
Video: JALPIC One Development Board: 5 stappen (met afbeeldingen)
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Als je mijn Instructables-projecten volgt, weet je dat ik een grote fan ben van de JAL-programmeertaal in combinatie met de PIC Microcontroller. JAL is een Pascal-achtige programmeertaal die is ontwikkeld voor de 8-bit PIC-microcontrollers van Microchip. De meeste mensen kennen de Arduino met behulp van de ATMEL-microcontroller. Een van de leuke dingen van een Arduino-bord is dat je de microcontroller kunt programmeren zonder dat je een aparte programmer nodig hebt.
Deze afwezigheid van de noodzaak van een programmeur bracht me bij dit project. Ik wilde een Arduino Uno-achtig bord maken voor de PIC-microcontroller en de software voor dat bord ontwikkelen in de JAL-programmeertaal. Het bord hoefde niet de exacte grootte van het Arduino Uno-bord te hebben, maar de connectoren op het bord zouden - waar mogelijk - dezelfde aansluitingen moeten hebben als de aansluitingen van een Arduino Uno. En zo werd het JALPIC One ontwikkelbord geboren.
Stap 1: Het bord ontwerpen
Voordat ik aan het ontwerp begon, heb ik het Arduino-ontwerp goed bekeken en het volgende besloten:
- Ik wilde dat het bord zou worden gebouwd met standaardcomponenten, dus geen Surface Mount Design (SMD). Reden hiervoor is dat het voor hobbyisten makkelijker zou zijn om het bord in elkaar te zetten.
- De connectoren moeten zoveel mogelijk dezelfde functionaliteit hebben als de Arduino Uno. Op de voorfoto heb ik de connectoren nog niet gemonteerd.
- De besturing van het bord moest worden gedaan door een PIC en deze PIC moest worden geprogrammeerd met behulp van de JAL-programmeertaal.
- Voor testdoeleinden moet het bord een LED hebben die u kunt bedienen vanaf de PIC waarop de applicatie draait. Deze functie is ook aanwezig op de Arduino Uno.
- De PIC waarop de applicatie draait, moet voldoende geheugen en RAM hebben om de applicatie gemakkelijk te kunnen ontwikkelen.
In het bijgevoegde schema vind je het ontwerp van het JALPIC One ontwikkelbord. Ik heb ook een screenshot van de print toegevoegd. Net als de Arduino kan het bord worden gevoed door de USB-poort of door een externe DC-voeding wanneer het stand-alone wordt gebruikt.
Ik heb een afbeelding toegevoegd die de Arduino en het JALPIC One-ontwikkelbord laat zien.
De applicatie-PIC op het bord wordt geprogrammeerd met behulp van het hex-bestand dat is gemaakt door de JAL-compiler.
Stap 2: Vereiste componenten
Je hebt de volgende componenten nodig voor dit project naast het bord zelf:
IC
- 1 * LM2940CT-5.0: IC1
- 1 * LM3940IT-3.3: IC2
- 1 * PIC16F18557P: IC3 (toepassing PIC)
- 1 * PIC16F1455P: IC4 (controle PIC)
Kristal
- 1 * 20 MHz: Q1
- 1 * 12 MHz: Q2
Diode
- 1 * 1N4004: D1
- 1 * 1N4148: D2
LED
- 1 * Gele LED: LED1
- 1 * Amber LED: LED2
- 1 * Rode LED: LED3
Connector
- 1 * Stroomaansluiting: J1
- 1 * USB-connector: X1
- 2 * 6-pins kop: SV2, SV5
- 2 * 8-pins kop: SV1, SV4
- 1 * 10-pins kop: SV3
- 1 * 3-pins jumper: JP1
- 1 * 2-pins jumper: JP2
Condensator
- 4 * 22 pF: C1, C3, C11, C13
- 5 * 100 nF: C2, C6, C7, C8, C 9
- 1 * 470 nF/keramiek: C10
Elektrolytische condensator
3 * 10 uF/25V: C4, C5, C12
Weerstand
- 2*22 Ohm: R10, R11
- 2 * 330 Ohm: R1, R8
- 6 * 1 kOhm: R2, R3, R4, R5, R6, R7
- 1 * 33 kOhm: R9
Schakelaar
1 * Omron-drukknop: S1
In de bijgevoegde lay-out van het bord kun je zien waar elk onderdeel moet komen.
Stap 3: De bordsoftware
Het meeste werk was de ontwikkeling van de besturingssoftware voor de besturings-PIC op het bord. Het bord heeft een eenvoudige commandoset om de applicatie-PIC te wissen, de applicatie-PIC te programmeren en nog wat meer commando's. Zoals gezegd is het geschreven in JAL. Er zijn 3 hoofdcomponenten in de software:
- Het hoofdprogramma dat de interface met de USB levert, interpreteert de commando's en stuurt de antwoorden.
- De hex-bestandsparser die de inhoud van het hex-bestand controleert, extraheert het adres en de te programmeren gegevens.
- De programmeur die het geheugen van de applicatie-PIC wist en de applicatie-PIC programmeert met de gegevens afkomstig van de parser.
Aangezien de besturings-PIC geen groot intern geheugen heeft, wordt het hex-bestand realtime en regel voor regel geparseerd, waarna de gegevens worden doorgegeven aan de programmeersoftware die vervolgens ook de applicatie-PIC op een regel programmeert per lijnbasis.
Het bijgevoegde hex-bestand kan worden gebruikt om de controller PIC te programmeren.
Stap 4: Hoe een toepassingsprogramma eruitziet?
Aangezien de hardware van de applicatie-PIC bekend is, kan een eenvoudig include-bestand worden gebruikt om allerlei instellingen te definiëren die nodig zijn om de applicatie-PIC te laten werken. De persoon die het programma schrijft, kan zich dan concentreren op het programma zelf. Een simpel blink-a-led programma in JAL ziet er dan als volgt uit:
include jalpic_one -- voeg het boarddefinitiebestand toe
enable_digital_io() -- maak alle pinnen digitale I/O
alias led is pin_a0 -- alias voor pin met LED
pin_a0_direction = UITGANG
voor altijd lus
led = AAN
_usec_delay(100_000)
led = UIT
_usec_delay(400_000)
eindlus
Dit programma maakt gebruik van de LED die aanwezig is op het JALPIC One ontwikkelbord. Als het programma klaar is, is slechts 1 klik op een knop in een editor genaamd JalEdit voldoende om het programma te compileren en naar het bord te downloaden. De korte video laat zien hoe dit werkt.
Stap 5: Zelf het bord bouwen
Ik zou niet alles in deze Instructable kunnen beschrijven, maar het hele bordontwerp, de software en de documentatie kunnen worden gedownload van een van de Jallib-releases onder de map 'project\jalpic_one'.
Omdat deze nieuwe ontwikkeling nog niet officieel is uitgebracht in een nieuwe versie van Jallib, moet deze worden gedownload met behulp van het nieuwste 'bee-pakket' van de JAL-downloadsite.
De downloadsite is te vinden op: Just Another JAL Website
Veel plezier met het bouwen van je eigen project en kijk uit naar je reacties.
Aanbevolen:
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
Aan de slag met La COOL Board: 4 stappen (met afbeeldingen)
Aan de slag met La COOL Board: Inleiding"Toen we op het idee kwamen voor La COOL Board, stelde ik me een mix voor tussen een Arduino met wifi en een modulair agronomisch weerstation. Het moest heel weinig energie verbruiken voor autonome werking en ik wilde in staat zijn om de
Een computer demonteren met eenvoudige stappen en afbeeldingen: 13 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Een computer demonteren met eenvoudige stappen en afbeeldingen: dit is een instructie over het demonteren van een pc. De meeste basiscomponenten zijn modulair en gemakkelijk te verwijderen. Wel is het belangrijk dat je er goed over georganiseerd bent. Dit zal helpen voorkomen dat u onderdelen kwijtraakt, en ook bij het maken van de hermontage e
WIDI - Draadloze HDMI met Zybo (Zynq Development Board) - Ajarnpa
WIDI - Draadloze HDMI met Zybo (Zynq Development Board): Heb je ooit gewenst dat je je tv als externe monitor op een pc of laptop kon aansluiten, maar wilde je niet al die vervelende snoeren in de weg zitten? Zo ja, dan is deze tutorial iets voor jou! Hoewel er enkele producten zijn die dit doel bereiken, is een
De heer E.Z. Tube Development Board: 4 stappen (met afbeeldingen)
De heer E.Z. Tube Development Board: Doel/doel: Dhr. E.Z. Tube is een goedkoop vacuümbuis audioplatform zonder het 'ijzer': geen stroomtransformator, geen uitgangstransformator(en). Een buizenversterker heeft doorgaans meerdere zware, dure transformatoren: uitgangstransformatoren die luidsprekers beschermen