Waar zijn we nu mee bezig ? Microcontrollers

Gestart door ToThePoint, 13 januari 2012, 10:27:28 AM

raf

hoi geert

het is een commando dat proton kent want het staat ook beschreven in de handleiding van proton

het programma zet commando's die het kent in bold dus dat doet hij dus ook

en als ik wil compileren dan geeft hij dus aan dat het alleen voor 18fxxxx processoren is

"on goto" kent hij ook en dat werkt dus wel bij 16f XXX processoren
dit werkt ook heb ik reeds gebruikt maar nu had ik dus een "on gosub" die ik wilde gebruiken omdat ik wilde terug springen naar de regel onder de regel met "on gosub"
met on goto kun je alleen maar terug springen naar het begin van het programma of blok waar je van vertrokken bent of naar toe wil gaan

het is natuurlijk anders op te lossen maar waarom 3 lijnen nodig als het in een commando ook gaat



is  er al iemand die een idee heeft waarom die ledjes pinken bij de detectie blokken
de loco's staan daar stil en een deel van de wagons heeft detectie dus normaal zou uit die opto een mooi zuiver bezet signaal moeten komen
maar niets is minder waar
nu een pic geprogrammeerd die tussen de ledjes en de bezetmelder komt maar uiteindelijk is het een lap middel en geen echte oplossing van de oorzaak

gr raf straks weer wat modules aansluiten onder de baan zie en ik denk dat het weer laat gaat worden hahaha
If I make mistakes in "spelling"
Remember it's the pen, that's bad
Don't lay the blame on me.

Geert

Weer wat PCB's aangekregen van onze vrienden uit China.

Wel eigen ontwerp, maar zij hebben ze gemaakt. Ondertussen begin ik al aardig wat versies van mijn LocoNet IO printje te verzamelen.

Dat wordt weer solderen de komende weken. (ik bestel ze telkens in andere kleur, zo kan ik ze onderscheiden)

LocoNet IO by
Geert Giebens
, on Flickr

Geert
Schaal HO - digitaal zelfbouw - Favoriete Lok: V200 DB
Huidig project: LocoNet 16 poorten ingangen/uitgangen

raf

hoi geert
ha wist ik niet dat het kon
ik heb nu versie 2 klaar van de blok bezet melders voor 2 rail
aanpassing is dat ik nu de voor seinen mee kan schakelen
en er waren nog 3 poorten onbenut deze zijn nu ook naar de stekker rail uitgevoerd
zodat de printen voor wat meer zaken kunnen gebruikt worden
misschien de stekker naar de display ook in drievoud uitvoeren dan kunnen dat ook in/uitgangen zijn met nog meer mogelijkheden

gr raf
If I make mistakes in "spelling"
Remember it's the pen, that's bad
Don't lay the blame on me.

Geert

PCB kleur wit, geel en zwart kan ook nog...

Eigenlijk kost me dat 5$ voor 10 stuks ( en ze sturen me er altijd 11 op), het zijn die verzendingskosten die iets doorwegen 10$, samen 15$ dus. Kan ik zelf niet maken aan deze kostprijs. 1,5€ stuk voor PCB van 10cm op 10cm.

www.pcbway.com

Geert
Schaal HO - digitaal zelfbouw - Favoriete Lok: V200 DB
Huidig project: LocoNet 16 poorten ingangen/uitgangen

raf

ja zelf maken voor deze prijzen is zo goed als gekken werk

ik bestel bij     https://jlcpcb.com/

ik betaal 12.60 voor 25 bordjes van 51 X 60

gr raf
If I make mistakes in "spelling"
Remember it's the pen, that's bad
Don't lay the blame on me.

raf

zo gisteren samen met modelbouw patrick aan de soft en hardware aan het werken geweest
en toen we stopte werkte het ook dus hopen dat het blijft werken

het probleem was dat het signaal soms gek deed en zo maar van stand verwisselde
maar gisteren dus uren bezig geweest
bleek dat het programma een paar regels over sloeg
bv
while detect = 1 : wend
wat een perfecte programmatie is maar deze regel word compleet genegeerd
while detect = 1
delayms 1
wend
wilde dan wel weer werken
eens we dit door hadden dit dan op de andere kritieke plaatsen ook toegepast en het werkt
dan nog wat stoeien met het signaal beeld goed te krijgen  en dan konden we dit ook weer afsluiten
en aan het volgende probleem beginnen te denken

soms werkt die software echt shit maar dat heb je in elke taal die je gebruikt

gr raf
If I make mistakes in "spelling"
Remember it's the pen, that's bad
Don't lay the blame on me.

Harm

Is er al iemand die per ongeluk de 16F887 heeft vervangen door de 18F4520

raf

pendel automaat gemaakt voor pukkel spoor
door het niet juist werken van de om schakel elektronica deze maar vervangen door 2 diode's
nu werkt heel het baantje op gelijkstroom eigenlijk
de motoren kunnen dit aan dat is geen probleem
nu filmpkes
https://www.youtube.com/watch?v=PgoQNwg_x7U&t=11s

https://www.youtube.com/watch?v=ZEOxUrZnKus

er zijn twee loco's omgebouwd want meer moet er niet kunnen rijden op deze baan
processor 16f628A
twee relais voor vooruit stop en achteruit
een opto om juist op de plaats te stoppen
en 2 ledjes voor een signaal mast
trafo op 12 volt 2,5 amp
gr raf
If I make mistakes in "spelling"
Remember it's the pen, that's bad
Don't lay the blame on me.

Geert

Citaat van: Harm op 28 november 2019, 16:53:44 PM
Is er al iemand die per ongeluk de 16F887 heeft vervangen door de 18F4520

Hoe bedoel je Harm per ongeluk?

Ik gebruikte vroeger vaak 16F887, voor mijn huidige projecten 18F4620.

Geert

Schaal HO - digitaal zelfbouw - Favoriete Lok: V200 DB
Huidig project: LocoNet 16 poorten ingangen/uitgangen

Harm

Citeer
Hoe bedoel je Harm per ongeluk?
Zoals het er staat.
Wel gebruikt maar niets over geschreven, want met de zoekfunctie krijg je geen resultaten hier.

Geert

Harm,
er is wel één hit bij zoekfuctie op '18F4520' .

Ik heb per ongeluk eens 10 van deze besteld, nog steeds ongebruikt.  :(


Geert
Schaal HO - digitaal zelfbouw - Favoriete Lok: V200 DB
Huidig project: LocoNet 16 poorten ingangen/uitgangen

Harm

Citaat van: Geert op 29 november 2019, 14:39:01 PM
Harm,
er is wel één

Gelukkig, toch nog een bijdrage waar ik echt wat aan heb.  ::)

raf

ok en we kunnen weer lachen

https://www.youtube.com/watch?v=AOOoR00-nCQ&feature=youtu.be

als ik de leds apart aan stuur dan is er geen probleem dus de aansluitingen zijn goed
maar in het lopende programma doen ze dus bij dubbel oranje dus dit
de groene leds flikkeren mee en er is geen enkele reden toe als ook is er geen logica in het flikkeren
Code (picbasic) Selecteer

Device 12F675

Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON,  MCLRE_OFF
All_Digital TRUE                                           
Xtal 4
Declare PortB_Pullups On
        ;543210            ; Hulpregel Poort poort_A
  GPIO =%111111        ; Zet poort_A laag
TRISB = %000001      ; Poort_A1 als ingang

Symbol in = GPIO.0
Symbol ledrood = GPIO.1
Symbol ledgroen = GPIO.2
Symbol ledrood1 = GPIO.4
Symbol ledgroen1 = GPIO.5



main:
While 1=1
     If in = 0 Then ledrood = 0 :Else:ledrood = 1
      If in = 0 Then ledrood1 = 0 :Else:ledrood1 = 1
     If in = 0 Then ledgroen = 1 :Else:ledgroen = 0
  If in = 0 Then ledgroen1 = 1 :Else:ledgroen1 = 0
Wend

kleiner kan het programma niet zijn
dus help wat zou er verkeerd kunnen zijn
in is dus de uitgang van het voorliggende signaal en dit geeft of 1 of 0  er is geen andere mogelijkheid


gr raf
If I make mistakes in "spelling"
Remember it's the pen, that's bad
Don't lay the blame on me.

dani

ik ben geen PIC programmeur, maar dit wringt me toch een beetje.
Waarom doe je 4 keer  "if"  en niet 1 keer met al de instructies ?
Vergeleken met C++  (arduino) zou je zo iets hebben :

if (in==LOW)
{digitalWrite(ledrood,LOW);digitalWrite(ledrood1,LOW);digitalWrite(ledgroen,HIGH);digitalWrite(ledgroen1,HIGH);}
else
{digitalWrite(ledrood,HIGH);digitalWrite(ledrood1,HIGH);digitalWrite(ledgroen,LOW);digitalWrite(ledgroen1,LOW);}



Let vooral op het verschil tussen de  "conditie"  en  de toewijzing .   (==  versus  =)
if ( in == LOW )    geeft de input van je pin terug
if ( in = LOW)       geeft altijd (1, of High of True)  terug want je  zet het signaal LOW en het resultaat van die bewerking geeft een  "1" terug

Verder kan je ook best een soort "de-bounce" invoegen  om knipperen te gen te gaan

bv.   delay(200);    (in C++,  watch 200 mSec)     


Ik zou jouw hoofd lus als volgt verwachten
While (1==1)
     If (in == 0) Then ledrood = 0 :Else:ledrood = 1
     If (in == 0) Then ledrood1 = 0 :Else:ledrood1 = 1
     If (in == 0) Then ledgroen = 1 :Else:ledgroen = 0
     If (in == 0) Then ledgroen1 = 1 :Else:ledgroen1 = 0
    wait(200)       <of zo iets>
Wend

Maar nog eens... ik ken de PIC  programmeer taal en semantics niet.



Snap je wat ik bedoel ?
De kruik is te water gegaan...
De kruik is niet meer.

raf

#1334
hoi Dani

het ene programma is het andere niet dus
    If in = 0 Then ledrood = 0 And ledrood1 = 0  :Else:ledrood = 1 And ledrood1 = 1
dit compileert dus niet in proton
maar er is nog wel een andere mogelijkheid die ik eens moet proberen
en dat is rechtstreeks de poorten besturen

Code (picbasic) Selecteer

Device 12F675

Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON,  MCLRE_OFF
All_Digital TRUE                                           
Xtal 4
Declare PortB_Pullups On
        ;543210            ; Hulpregel Poort poort_A
  GPIO =%111111        ; Zet poort_A laag
TRISIO = %000001      ; Poort_A1 als ingang

Symbol in = GPIO.0
main:
While 1=1

     If in = 0 Then GPIO = %101101
     If in = 1 Then GPIO = %011011
 
Wend

en dit wil wel compileren en dan hopen dat het vrijdag op de club wel wil werken
een delayms 200 (of zo iets) moet er niet tussen staan maar zou wel kunnen
maar is voor het programma zelf niet nodig

zoals het laatste geschreven werkt het alweer in real pic simulator
maar dat deden de andere ook LOL

vrijdag kijken en echt kleiner kan een programma haast niet zijn denk ik

gr raf en reeds bedankt
If I make mistakes in "spelling"
Remember it's the pen, that's bad
Don't lay the blame on me.