Micro-PLC - Treinbaan van Rian

Download Report

Transcript Micro-PLC - Treinbaan van Rian

Micro-PLC
1 Intro
PLC’s worden in de industrie veel gebruikt voor automatisatie van machines en ganse fabrieken,
soms schakelkasten vol, ze zijn stevig en robuust, universeel inzetbaar, je klikt ze vast op een Din-Rail,
sluit er je sensoren en andere ingangen op aan, en met de uitgangen kun je diverse dingen
aansturen.
PLC’s worden allicht vaak verkozen in de industrie boven µC omdat het ontwerpen, ontwikkelen, en
programmeren van een schakeling met µC die de PLC zou kunnen vervangen veel tijd (en geld ) kost.
Voor hobby gebruik heb ik (voorlopig) geen verstand van PLC-programmeren en vind ze relatief duur.
Gezien het voor de hobby is, moeten we onszelf de uren testen, ontwikkelen en programmeren niet
aanrekenen en kost een oplossing met µC wel véél minder dan een PLC.
Doel van dit project is om een printje te ontwerpen en te (laten) maken dat kan ingezet worden als
universele module om diverse situaties op de modelbaan aan te sturen. Het hart van het systeem zal
bestaan uit een Microcontroller. Het resultaat van dit project moet dat zijn dat midden tussen de PLC
en de µC ligt. Zorgen dat je van de vele mogelijkheden van de µC kunt gebruikmaken, in diverse
situaties zonder dat daarvoor telkens een specifieke print moet ontworpen worden, en dit voor een
redelijke prijs
2 Praktsiche uitwerking idee
Om een universeel bruikbaar printje te verkrijgen moeten verschillende functies kunnen toegewezen
worden aan een pin van de µC. Het printje zal opgebouwd worden met de nodige componenten door
de eindgebruiker (ik of andere geïnteresseerden) met de nodige componenten om zijn of haar
specifieke doelstelling te kunnen bereiken. Het zal maw niet nodig zijn om alle onderdelen op de
print te solderen, enkel die die nodig zijn voor het specifieke project.
Voor de eenvoud van het werk worden enkel eenvouidig te solderen SMD onderdelen gebruikt of
Trough-hole “technologie”. De onderdelen moeten eenvoudig te verkrijgen zijn.
2.1 Mogelijk te implementefen functies:










Relais
Stroomdetectie (met ADC)
Open collector uitgangen (ULN 2803 0,5A of met transistor voor grotere stromen)
Gewone I/O (pins µC gewoon verbinden met connector)
I²C pull-up weerstanden
Pull-up weerstanden voor bediening met knoppen of andere toepassingen
Dip-switch voor module adressen (bv 6 bit =64 modulen, lijkt me voldoende)
16*2 lcd
…. (wie vult aan)
3 Wat nu al voorzien is
Combinaties kunnen: bv op B-poort gebruik maken van ULN 2803 en/of van gewone I/O (=aparte
connectoren zijn voorzien). Andere combinaties zijn dan bv (niet) mogelijk: voor gebruik DIP
(adres)switch heb je ook de pul-up SIL-weerstand nodig, maar gewone I/O functie vervalt.
3.1 Microcontroller




Ontworpen voor 40 pin PIC 16F887
o Of pin compatibel
Programmer connector voor Pickit 2/3
Mogelijkheid tot aansluiten van extern kristal
Reset knopje op RE3/MCLR
3.2 Voeding




7805 Onboard-Voeding met enkelzijdige gelijkrichting
o Enkelzijdig: geen problemen bij verbinden massa’s van meerdere modules uit zelfde
transfo gevoed
Ruimte voor koellichaam, indien nodig
Aansluiting voor externe 5 volt voeding of 5v + GND output
Voeding status led
3.3 Pinouts
3.3.1






A-poort
6 bit dip switch mogelijk voor instelling module-adres (SMD)
Pull-up mogelijk met SIL-weerstand
Gewone I/O
6x stroomdetectie met ADC (update 04/08)
RA0: LM35 TO92 temperatuur sensor, geen idee of dit nuttig is, maar het is voorzien (update
04/08),
RA0-RA5 + GND +5V 0.1” header (update 06/08)
3.3.2




B-poort1
ULN 2803 octal driver array open collector output 0,5A
Interne pull-up
Gewone I/O
Connector voor relaiskaartje met 8 relais (update 04/08)
3.3.3
C-poort
3.3.3.1





RC0-RC3
Pull-Up mogeijk met SIL weerstand (+RD0/RD1)
Open Collector 4A op RC2 (update 06/08)
Gewone I/O
RC3/SCK: Pull-Up weerstand voor I²C
Hitachi HD44780 lcd datapoort (lcd verbinden via flatcable 16 aders) (update 04/08)
3.3.3.2 RC4-RC7
 RC4/SDI: Pull-Up weerstand voor I²C
 Gewone I/O
3.3.4







3.3.5






D-Poort
ULN 2803 octal driver array open collector output 0,5A
Gewone I/O
Pull-up op RD0/RD1/RD6/RD7
RD0:
o Hitachi HD44780 lcd RS pin (lcd verbinden via flatcable 16 aders) (update 04/08)
o Drukknopje (Update 05/08)
RD1:
o Hitachi HD47780 lcd Enable (lcd verbinden via flatcable 16 aders) (update 04/08)
o Drukknopje (Update 05/08)
RD6,RD7: Drukknopje (Update 05/08)
RD7: Serie-Weerstand voor DCC/MM
E-Poort
2 status leds op RE0/RE1
Gewone I/O op RE0-RE2
Pull-up mogelijk met SIL-weerstand op RE0-RE2
RE3 als MClR pin met pull-up weerstand en met reset button
3 x stroomdetectie met ADC (update 04/08)
RE2/AN7: Potentiometer (niet mogelijk samen met LCD display) (update 04/08)
4 Opmerkingen
Ik heb al geprobeerd om 4 relais 2*om toe te voegen aan het ontwerp, maar daar wringt het
schoentje voornamelijk bij het routen van de 6 schakelcontacten naar een connector
Wat met bv Peco wisselspoelen: 0,5A ULN 2803 zeker niet genoeg
Iemand eventueel interesse om ook te gaan expirimenteren met zo’n printje? Let me know!
Iemand die kan aanvullen/tips?