vender icon indicating copy to clipboard operation
vender copied to clipboard

second hardware configuration

Open temoto opened this issue 5 years ago • 4 comments

I'd like to set up the VMC and help the project while doing so as well. I've a Raspberry Pi B+ and an Arduino Uno R3. Some other hardware that I can procure as well.

I was wondering about a plan on how to go about running the project on said hardware and have the bare minimum of MDB device and a motor control array (maybe).

Originally posted by @mhaqs in https://github.com/temoto/vender/issues/1#issuecomment-513727955

temoto avatar Jul 22 '19 12:07 temoto

@mhaqs hello, moved this to separate thread if you don't mind.

For a plan, please:

  • describe in text an end result you like to see
  • list MDB devices
  • specifically what motor control array, how to operate it? Datasheet?

temoto avatar Jul 22 '19 13:07 temoto

@temoto Thanks for creating a separate issue for this. I think it's better this way. I have sent you an email with my supposed motor control array setup/schematic. As an end result (even if it's creating a vending machine), I'd like Vender to be able to help with the basic of operations:

  • Help and control MDB devices (Cash, Coin like ICT and Cashless like Nayax)
  • The MDB devices can be in master/slave set up but that's not an issue for now.
  • I've shared my humble design of a motor control array with you over email. See if it's valid at all to work with Vender.
  • My design includes Raspberry Pi and Arduinos over I2C. The reason behind this was to have a modular system where, I can replace Pis and Arduinos in and out as needed or upgrade them over the air in the future. But this is again a very far fetched idea.

As an MVP, if Vender can build/sit on the Pi and control these devices; I can use that knowledge to build more and understand the code base. I can then contribute my findings and build/contribute from there.

mhaqs avatar Jul 23 '19 07:07 mhaqs

Let's start with connecting Raspberry to MDB as we did. Roadmap:

  • (mandatory) UART-MDB level inverter / current limiter
  • one of
    • operate MDB from Raspberry (might have 5ms ACK timeout issue, may be solved with kernel tuning, I will help, but be ready that it may not be stable)
    • operate MDB via atmega-like mcu (currently works for us); be warned and ready that after uploading our firmware you may not ever use that mcu as Arduino with USB. We don't have Arduino, so I'm just warning about worst case scenario, most likely nothing irreversible happens.

Are you comfortable with installing KiCad program? Alex did all hardware schema in it and I don't know if anything else would open their files. Please study these

  • https://github.com/temoto/vender/tree/master/hardware/schematic/KiCad
  • https://github.com/temoto/vender/tree/master/hardware/evend-adapter/kicad and/or this
  • http://blog.bouni.de/2012/the-mdb-protocol-part-1.html

If done properly, you should have working UART-MDB level invertor / current limiter.

At this stage I highly recommend having digital sampling oscilloscope. It feels stupid helpless to see things "just not working" when you don't know where exactly. It's possible to use Raspberry as DSO, search: [piscope] or https://abyz.me.uk/rpi/pigpio/piscope.html

temoto avatar Jul 23 '19 13:07 temoto

Just to make it absolutely clear, to talk MDB, you should make small hardware component which inverts UART Tx. http://blog.bouni.de/2012/mdb-levels.svg I don't know any way around this.

temoto avatar Jul 23 '19 13:07 temoto